私は、さまざまな人からの大量のデータを含むさまざまな Excel ファイルで作業しています。ルックアップ (LOOKUP 関数の使い方は知っています) を実行したいのですが、複数の条件に基づきます。例を挙げて説明しましょう。次のようなファイルがあります (列区切り文字として / を使用しています)。
データ提供者名 / データ / データコード
John / 55.5 / SSRF5
Amanda / 55.6 / SSRF5
Alicia / 54 / SSRF5
John / 22.5 / ABRD4
Amanda / 空白 / ABRD4
Alicia / 22.6 / ABRD4
John / 空白 / FFGR2
Amanda / 空白 / FFGR2
Alicia / 45.6 / FFGR2
「空白」は、データのないエントリがあることを示すために使用しました。また、データコードのリストがある別のファイルがあり、これにデータを関連付けて、次の形式のファイルを取得したいと考えています。
データコード / データ
SSRF5 / ...
ABRD4 / ...
FFGR2 / ...
ご覧のとおり、各データ コードに複数のデータがある場合や、特定のプロバイダーのデータが不足している場合があります。データ プロバイダーの名前を使用して、使用するデータ プロバイダーを選択します。たとえば、この例では、Amanda のデータを優先的に使用し、使用できない場合は John を使用し、選択の余地がない場合は Alicia を使用します。
データ プロバイダーのセットが限られており、それらの間の厳密な順序を定義できることに注意してください。これを実行する方法について何かアイデアはありますか? ファイルが非常に大きいため、手動で実行することはできません。
前もって感謝します。
PS: 私は Windows 7 で Microsoft Excel 2010 を使用しています。PPS
: 私は VBA を使用したことがないので、ソリューションで VBA が必要な場合は、ショートカットを多用しないでください。:-)
答え1
Power Query アドインを使用します。テキスト ファイル、スプレッドシート、データベースなどからデータをインポートできます。ルックアップにほぼ似た Merge 機能があります。複数のクエリを複数の Merge 操作で連結して、目的の結果を得ることができます。
http://office.microsoft.com/en-au/excel-help/merge-queries-HA104149757.aspx?CTT=5&origin=HA103993872
最終結果を Excel テーブルに出力できます。