web-dev-qa-db-ja.com

Excelで値を検索し、yesまたはnoを返す

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

(例:ワークシートAは期限切れの本のリストです。ワークシートBは図書館全体です)。

ワークシート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()の組み合わせで遊んできましたが、複数のワークシートに対して何もうまくいかないようです。

8
Cole

あなたは次の機能を使用することができます

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

内側から外側へ

現在のシート(sheet2)のセルA1に一致する値があるかどうか確認するために、シート1列Aを調べます。完全に一致するものがあれば、行番号を返します。

Ifステートメントmatchが何か(1以上の数字)を返す場合、これは真と見なされ、 "yes"を返します。

エラーです。 matchが何も見つからない場合はnaエラーを返します。 Iferrorはこれを最後の "no"にします

17
gtwebb

VLOOKUPは動作するはずです...

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

一致が見つからない場合は、VLOOKUPはNAを返します。それでは、その結果がISNAであるかどうかがわかりますか。そうでない場合はYESを返します。

4
EkriirkE

COUNTIFステートメントをIFと組み合わせて使用​​することもできます。

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

これは、セルA1の内容が最初のワークシートのA列に見つかった回数をカウントします。数値が0より大きい場合、アイテムはリストに含まれているため「はい」を返します。それ以外の場合、COUNTIFが0を返す場合、アイテムは見つからず、「いいえ」を返します。

私は毎日COUNTIFを使ってあるリストと別のリストの中の項目を識別します(そして重複しています)。

0
JG7