web-dev-qa-db-ja.com

Excel-別のリストに基づいてデータを抽出する

2つの列(名前/ ID)のあるExcelワークシートと、前述の大きなリストの名前のみのサブセットである別のリストがあります。サブセットリストを調べてから、より大きなリスト(名前/ ID)からデータを取得し、別の場所に配置します。本質的には、名前がサブセットにある場合にのみ、より大きなリストからデータを取得します。

フィルターを使用してみましたが、機能しませんでした。考え?

ありがとう。

18
Mark

新しいExcelバージョン

=IF(ISNA(VLOOKUP(A1,B,B,1,FALSE)),"",A1)

古いExcelバージョン

=IF(ISNA(VLOOKUP(A1;B:B;1;FALSE));"";A1)

つまり、「A1の値がB列に存在する場合、ここに表示します。存在しない場合は空のままにします。」

27
l0b0

私は最初の方法を働かせることができず、これは古いトピックであることを知っていますが、これは私が解決のためにやったことです:

=IF(ISNA(MATCH(A1,B:B,0)),"Not Matched", A1)

基本的に、A1と列Bを正確に一致させます(0は列Bの値と完全に一致することを表します)。 ISNAは、一致が見つからない場合に一致が返される#N/A応答をテストします。最後に、ISNAがtrueの場合、選択したセルに「Not Matched」を書き込みます。そうでない場合は、一致したセルの内容を書き込みます。

12
dardo

高度なフィルターを試しましたか?短いリストを「基準」として使用し、長いリストを「リスト範囲」として使用します。次のオプションを使用します:「所定の場所でフィルター」および「一意の値」。

短いリストにのみ表示される一意の値のリストが表示されます。

または、必要に応じて、一意のリストを別の場所(同じシート上の)に貼り付けることもできます。 [別の場所にコピー]オプションを選択し、[コピー先]ボックスに、一意のリストが必要なセル参照(F1など)を入力します。

注:これは、2つの列を「基準」と「リスト範囲」の両方として選択した場合、2つの列(名前/ ID)でも機能します。

2
JustPlainBill

私は、他の人々がそうであるように、それを急いでいます。

基準を使用しました。

=countif(matchingList,C2)=0

ここで、matchingListはフィルターとして使用しているリストです。

これを見てください

http://www.youtube.com/watch?v=x47VFMhRLnM&list=PL63A7644FE57C97F4&index=

私が見つけたトリックは、通常、データ列見出しに一致する基準に列見出しがあるということです。これは、式である基準では機能しません。

私が見つけたのは、高度なフィルター機能でcountifの式を持つ基準のみの列見出しを空白のままにした場合です。列見出しがある場合、つまり式の例で列C2の列見出しがある場合、フィルターは出力を返しません。

お役に立てれば

1
Saltubar