したがって、これはVlookup関数を使用してそれを行う方法に答えますが、1つのセルのみです。
あなたの例では、データの各テーブルに次のセル参照があるとします。
表1:シート1!A1:C3
a d g
b e h
c f i
表2:シート2!A1:C3
c j m
a k n
b l o
これが式の作成方法です。
結合式
=ArrayFormula(
{
Sheet1!A1:C,
vlookup(Sheet1!A1:A, {Sheet2!A1:A, Sheet2!B1:C}, {2,3}, false)
}
)
この数式を機能させるための鍵は、Vlookup範囲で中括弧を使用する方法を理解することです。基本的に、範囲の最初のセル参照を、VlookupSearch_Keyに一致する列として定義します。範囲内の残りのセル参照は、結合する列に関連しています。
インデックスは{2,3}と記述され、範囲の2番目と3番目の列を返します(範囲は合計3列で構成されます)。中括弧は、VlookupインデックスのArrayformulaとは関係ありませんが、Vlookup関数から複数の列を返すために必要です。{1,2,3}と書かない理由は、結合の目的で使用されている列を含めたくないためです。
結合に使用されるtable2の列が、別の列(結合されるデータの右側)にある例。
この種の結合式は、2番目のテーブルの結合列がそのテーブルの3番目の列として配置されている場合でも利用できます。この例の生データは次のようになります。
表1(シート1):
a d g
b e h
c f i
表2(シート2):
j m c
k n a
l o b
このように数式を記述しても、(結合されたデータの表に表示されているように)目的の結果が得られます。
=ArrayFormula(
{
Sheet1!A1:C,
vlookup(Sheet1!A1:A, {Sheet2!C1:C, Sheet2!A1:B}, {2,3}, false)
}
)
結合されたデータのテーブル:
a d g k n
b e h l o
c f i j m
結合式では、表2の3番目の列がVlookup範囲の最初のセル参照として配置されていることに注意してください。
これが機能する理由は、範囲で中括弧を使用する場合(Arrayformulaと組み合わせて)、Vlookup Search_Keyは生データ内の共通分母として列を検索せず、代わりに内の配列を使用するためです。共通の分母として列を見つけるための参照としての中括弧(デフォルトでは、これは範囲の最初の列です)。
私はこのトピックに関する包括的なガイドを書きました: