web-dev-qa-db-ja.com

列Aの値に列Bの値が含まれているかどうかを確認しますか?

2つの列があります-列Eは99504(値)まで拡張され、列Iは2691(値)まで拡張されます。両方の列には拡張子付きのファイル名が含まれます。

このようなもの

E               I
TSL_groups.mrk  pcbx_report.mrk
abcd.mrk        jhuo.mrk

等々...

I列(Filename_Bの見出し)のファイルがE列(Filename_Aの見出し)に存在するかどうかを調べたい。 trueの場合、新しい列でTRUEと言います。列Kとしましょう。

それ、どうやったら出来るの? TIA。

42
Nemo

これを試すことができます

=IF(ISNA(VLOOKUP(<single column I value>,<entire column E range>,1,FALSE)),FALSE, TRUE)

-または-

=IF(ISNA(VLOOKUP(<single column I value>,<entire column E range>,1,FALSE)),"FALSE", "File found in row "   & MATCH(<single column I value>,<entire column E range>,0))

<single column I value><entire column E range>を名前付き範囲に置き換えることができます。それがおそらく最も簡単でしょう。

必要な列のI列の長さまで、その式をドラッグします。

58
Brad

VLOOKUPを使用できますが、これにはTrueまたはFalseを返すラッパー関数が必要です。言うまでもなく、それは(比較的)遅いです。代わりにCOUNTIFまたはMATCHを使用してください。

列Iの既存の値(I1からI2691)の横にある列Kに次の式を入力します。

=COUNTIF(<entire column E range>,<single column I value>)>0
=COUNTIF($E$1:$E$99504,$I1)>0

MATCHも使用できます。

=NOT(ISNA(MATCH(<single column I value>,<entire column E range>)))
=NOT(ISNA(MATCH($I1,$E$1:$E$99504,0)))
42
JimmyPena

これを試すことができます。 :)簡単な解決策!

=IF(ISNUMBER(MATCH(I1,E:E,0)),"TRUE","")
6
taosio