2013-01-24 19:18:04 +0000 2013-01-24 19:18:04 +0000
3
3

2つのワークシートから似たようなデータを見つけて、3つ目のワークシートに入れる

2つの異なるExcelスプレッドシートのデータを3つ目のExcelスプレッドシートに結合する最良/最も簡単な方法は何ですか?スプレッドシート1にはユーザー名のみが含まれます。スプレッドシート2には、ファーストネーム、ラストネーム、部署、ユーザー名など多くの情報が含まれています。必要なのは、3つ目のスプレッドシートにスプレッドシート1のユーザー名とスプレッドシート2のファーストネーム、ラストネーム、部署を表示させることです。

回答 (4)

5
5
5
2013-01-24 21:05:30 +0000

使用したい関数は 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を押してください。

計算式の形式は、データがすべて同じワークブック内にあるかどうかによって少し異なります。以下にそれぞれの例を示します。

重要な注意: VLOOKUPが機能するためには、lookup value mustとして使用する検索語がtable arrayの最初の列で検索可能である必要があります。


最初の例 . すべてのデータは同じExcelワークブック内にありますが、異なるシートにあります。最初のシートは「Usernames」というラベルが付けられており、ユーザ名だけが含まれています。2番目のシートは「ユーザーデータ」と呼ばれ、すべてのユーザーの詳細が含まれています。3枚目のシートを「検索結果」と呼びます。ユーザーデータ」シートには5つの列、A:E.

  1. 「ユーザーデータ」スプレッドシートのA列にすべてのユーザー名があることを確認します。ユーザー名」から「ルックアップ結果」にすべてのユーザー名をコピーします。
  2. ヘッダー行を使用していると仮定して、「ルックアップ結果」の最初のユーザー名はA2に表示されます。
  3. 検索結果」のB2の式は次のようになります。=VLOOKUP(A2,'User Data'!A:B,2,FALSE)
  4. 4. 「検索結果」のB3の式は次のようになります。=VLOOKUP(A3,'User Data'!A:B,2,FALSE)
  5. ルックアップ結果」の C2 の式は以下の通りです。=VLOOKUP(A2,'User Data'!A:C,3,FALSE)

そろそろパターンが見えてきたはずです。各列について、最初のセル(例: B2)にVLOOKUPの式を書き、シートの残りの部分に式を入力するだけでよいはずです。しかし、列をまたいで数式をカットアンドペーストするのはそれほど簡単ではありません - table arraycolumn index number の値を更新する必要があります。


2番目の例 . 各データセットは、それぞれのExcelワークブックに保存されています。ワークブック内のシート名はデフォルトです(例:最初のシートは “Sheet1")。ワークブックのファイル名は、"Usernames.xlsx"、"User Data.xlsx"、"Lookup Results.xlsx "です。これらはすべて「My Spreadsheets」というフォルダにあり、「Me」というユーザーのデスクトップにあります。

  1. 「User Data.xlsx」シートのA列にすべてのユーザ名があることを確認する。Usernames.xlsx」から「Lookup Results.xlsx」にすべてのユーザ名をコピーする。
  2. ここでも、ヘッダー行を使用していると仮定して、これはA2から始まります。
  3. Lookup Result.xlsx」のB2の式は=VLOOKUP(A2,'C:\Users\Me\Desktop\My Spreadsheets\[User Data.xlsx]Sheet1'!A:B,2,FALSE)
  4. 4. "Lookup Result.xlsx "のB3の式は=VLOOKUP(A3,'C:\Users\Me\Desktop\My Spreadsheets\[User Data.xlsx]Sheet1'!A:B,2,FALSE) 5にする必要があります。5. "Lookup Result.xlsx "のC2の式は=VLOOKUP(A2,'C:\Users\Me\Desktop\My Spreadsheets\[User Data.xlsx]Sheet1'!A:C,3,FALSE)

繰り返しになりますが、これでパターンが見えてくるはずです。必要に応じて、行の下や列全体に切り取り、貼り付け、微調整してください。


もう一つ注意すべきことは、「ユーザ名」データの変更があっても、このシートは自動的に更新されないということです。ユーザーデータ」シートへの変更はこの方法で引っ張ることができますが、「ユーザー名」の変更にも追従したい場合は、より高度なテクニックが必要になります。

1
1
1
2015-05-25 11:47:36 +0000

Vlookupなどは、両シートのデータが同じでないと動作しません。
必要なのは、Excel用のファジーロジックアドオンだと思います。これを使うと、いくつかの異なるパラメータに基づいて似たような結果を見つけることができます。ダウンロードページ](http://www.microsoft.com/en-gb/download/details.aspx?id=15011)を確認してください。

0
0
0
2014-11-11 09:21:13 +0000

Excel ファイルから Query を使用することができます。

  • Spreadsheet 1 でデータセットの名前を定義する (Formulas tab -> Define name)
  • Spreadsheet 2 でデータセットの名前を定義する
  • Spreadsheet 1 の間、Data タブで “From Other Sources” を選択し、ドロップダウンから “From Microsoft Query” を選択する
  • 他のスプレッドシートファイルを選択し、列を手動でマージすることを確認する
  • 以下のウィンドウで “Query from Excel Files” と表示されます。最初のデータセットの「ユーザー名」列を 2 番目のデータセットの「ユーザー名」列にドラッグ&ドロップすると、これらの列間にリンクが作成されます
  • ファイルメニューから「データを MS Office Excel に戻す」をクリックすると、データのインポートダイアログが表示されます
  • マッチしたデータをインポートしたいシートを選択する
  • OK をクリックすると、両方のスプレッドシートの列とマッチしたデータが表示されます

または、オンラインサービスにファイルをアップロードしても構わない場合は、例えば、 http. http: //www. gridoc.com/join-tables を使用して、ドラッグ&ドロップでシートをマージすることができます(免責事項:私はこのツールの作者です)。

これが役立つことを願っています。

0
0
0
2013-01-24 20:21:12 +0000

HLOOKUP/VLOOKUP - 計算式を使用してスプレッドシート1からユーザー名を取得し、ユーザー名をキーとして、スプレッドシート2をルックアップマトリックスとして使用して、HLOOKUP/VLOOKUPの1つのインスタンスを取得します(英語以外のエクセルを使用しているので、どれがどれなのかわかりません)。