2つの異なるExcelスプレッドシートのデータを3番目のExcelスプレッドシートに結合するための最良/最も簡単な方法は何ですか?スプレッドシート1にはユーザー名のみが含まれます。スプレッドシート2には、姓、名、部署、ユーザー名など、多くの情報が含まれます。3番目のスプレッドシートで、スプレッドシート1のユーザー名に、スプレッドシート2の名、姓、部門を表示する必要があります。
使用したい関数はVLOOKUP
です。これを行う方法は、シートの配置方法によって多少異なりますが、すべて同じ構文に従います。
= VLOOKUP(_lookup value
_、_table array
_、_column index number
_、_range lookup
_)
lookup value
_は、検索するデータです。table array
_は、検索ターゲットを含む列を含め、データを取得するセルを定義しますcolumn index number
_は、情報を取得する_table array
_内の列のインデックスです。 (例:A:Eの配列の場合、列Dは_4
_になります。)range lookup
_は、近似一致が許容されるか、完全一致が必要かを指定するTRUE/FALSEオプションです。単純にするために、これを常にFALSE
に設定します。詳細が必要な場合は、ExcelでF1キーを押します。数式の形式は、データがすべて同じブックにあるかどうかによって少し異なります。以下にそれぞれの例を示します。
重要な注意: _lookup value
_として使用している検索語句(must最初の列で検索可能VLOOKUPが機能するための_table array
_.
最初の例:すべてのデータは同じExcelワークブックにありますが、シートは異なります。最初のシートには「ユーザー名」というラベルが付いており、ユーザー名のみが含まれています。 2番目のシートは「ユーザーデータ」と呼ばれ、すべてのユーザーの詳細が含まれています。 3番目のシートを「ルックアップ結果」と呼びます。 「ユーザーデータ」シートには、_A:E
_という5つの列があります。
=VLOOKUP(A2,'User Data'!A:B,2,FALSE)
=VLOOKUP(A3,'User Data'!A:B,2,FALSE)
=VLOOKUP(A2,'User Data'!A:C,3,FALSE)
ここまでで、パターンが表示されるはずです。各列について、最初のセル(例:B2)にVLOOKUP数式を記述し、シートの残りの部分に数式を入力するだけです。ただし、数式across列のカットアンドペーストはそれほど簡単ではありません。_table array
_および_column index number
_の値を更新する必要があります。
2番目の例:各データセットは、独自のExcelブックに保持されます。ブック内のシート名はデフォルトです(つまり、最初のシートは「Sheet1」です)。ワークブックのファイル名は、「Usernames.xlsx」、「User Data.xlsx」、および「Lookup Results.xlsx」です。これらはすべて、「My Spreadsheets」というフォルダにあります。このフォルダは、「Me」というユーザーのデスクトップにあります。
=VLOOKUP(A2,'C:\Users\Me\Desktop\My Spreadsheets\[User Data.xlsx]Sheet1'!A:B,2,FALSE)
である必要があります=VLOOKUP(A3,'C:\Users\Me\Desktop\My Spreadsheets\[User Data.xlsx]Sheet1'!A:B,2,FALSE)
である必要があります=VLOOKUP(A2,'C:\Users\Me\Desktop\My Spreadsheets\[User Data.xlsx]Sheet1'!A:C,3,FALSE)
である必要がありますここでも、ここまででパターンを確認できるはずです。必要に応じて行を下に、列を横切って切り取り/貼り付け/微調整を行うと、設定が完了します。
ここで覚えておくべきもう1つのことは、「ユーザー名」データの変更に対してこのシートが自動的に更新されないことです。 「ユーザーデータ」シートへの変更はこの方法でプルできますが、「ユーザー名」の変更にも従う場合は、より高度な手法が必要になります。
Vlookupなどは、両方のシートのデータが同一である場合にのみ機能します。
私が必要としているのは、Excel用のファジーロジックアドオンです。これにより、いくつかの異なるパラメーターに基づいて同様の結果を見つけることができます。 ダウンロードページ を確認します。
HLOOKUP/VLOOKUP-数式を使用してスプレッドシート1からユーザー名をフェッチし、次にユーザー名をキーとして使用し、スプレッドシート2をHLOOKUP/VLOOKUPの1つのインスタンスのルックアップマトリックスとして使用します(どちらかはわかりません)英語版以外のExcelバージョンを使用)。
Excelファイルからクエリを使用できます。
または、ファイルをオンラインサービスにアップロードしてもかまわない場合は、たとえば http://www.gridoc.com/join-tables を使用し、ドラッグアンドドロップを使用してシートをマージできます(免責事項:Iツールの作成者です)。
お役に立てれば。