2014-05-21 20:08:24 +0000 2014-05-21 20:08:24 +0000
8
8

エクセルで値を検索して「はい」か「いいえ」を返す

私は1つのワークブックを持っていて、2つの別々のワークシートを持っています。ワークシートBに表示されている値がワークシートAにも表示されているかどうかを知りたいのですが、表示されている場合は “YES "を返したいのですが、表示されていない場合は "NO "を返したいのです。もしそうでなければ、"NO "を返したいです。ワークシートAは延滞本のリスト。

ワークシートAには、以下のデータセットがあります:

A
1 AB123CD
2 EF456GH
3 IJ789KL
4 MN1011OP

ワークシートBには、以下のデータセットがあります:

A Overdue 
1 AB123CD ?
2 QR1516ST ?
3 EF456GH ?
4 GT0405RK ?
5 IJ789KL ?
6 MN1011OP ?

表Aに値が存在するかどうかを適切に調べるためには、どのように関数を構成すればよいでしょうか?

if()、vlookup()、match()の組み合わせで遊んでいますが、複数のワークシートでは何も機能していないように見えます。

回答 (3)

18
18
18
2014-05-21 20:20:55 +0000

以下の関数を使用することができます。

=IFERROR(IF(MATCH(A1,Sheet1!$A:$A,0),"yes",),"no")

内側から始める

Match は、現在のシート (sheet2) のセル A1 に一致する値があるかどうかを確認するために sheet1 のカラム A を見ます。厳密なマッチがあればそれは行番号を返します。もしマッチが何か(1以上の数字)を返すならば、これは真とみなされ、"yes “を返します

iferror. matchが何も見つからなかった場合は、naエラーを返します。Iferror は最後の "no” を返します。

4
4
4
2014-05-22 03:19:54 +0000

VLOOKUPはうまくいくはずなのですが…

=IF(ISNA(VLOOKUP(A1,Sheet1!$A:$A,1,false)),"NO","YES")

一致するものがなければNAを返します。その結果がISNAであるかどうかを確認します。そうでなければNOを返します。

0
0
0
2017-12-06 18:51:48 +0000

また、COUNTIFIFを組み合わせたCOUNTIF文を使用することもできます:

=IF(COUNTIF(WorksheetA!$A:$A,WorksheetB!$A1)>0,"Yes","No")

これは、セルA1の内容が最初のワークシートのA列で見つかった回数をカウントします。この回数が0以上の場合、その項目はリストに含まれているので、"Yes “を返します。そうでない場合、COUNTIFが0を返した場合、その項目は見つかりませんでしたので、"No "を返します。