Excelでは、セルが値のリスト(セルの範囲)にあるかどうかをどのように確認しますか


88

名前を含む範囲(A3:A10)があり、別のセル(D1)の内容がリスト内の名前の1つと一致するかどうかを確認したいと思います。

範囲A3:A10に「some_names」という名前を付けました。内容に応じてTrue / Falseまたは1/0が得られるExcel式が必要です。

回答:


92

= COUNTIF(some_names、D1)

動作するはずです(名前が存在する場合は1-複数のインスタンスの場合は複数)。


some_namesに2つの列が含まれ、D1の代わりにD1:E1がある場合に機能するように数式を変更するにはどうすればよい ですか?
user1993

66

私の優先回答(Ianから変更)は:

=COUNTIF(some_names,D1)>0

これは、some_namesの範囲で少なくとも1回D1が見つかった場合にTRUE、そうでない場合にFALSEを返します。

(COUNTIFは、範囲内で基準が見つかった回数の整数を返します)


26

私はOPがリストがセルの範囲から来たと具体的に述べていることを知っていますが、他のものは特定の値の範囲を探している間にこれにつまずくかもしれません。

MATCH関数を使用して範囲ではなく、特定の値を検索することもできます。これにより、これが一致する番号(この場合は2番目のスポット、つまり2)が得られます。一致するものがない場合は#N / Aを返します。

=MATCH(4,{2,4,6,8},0)

最初の4つをセルに置き換えることもできます。セルA1に4を入力し、これを他のセルに入力します。

=MATCH(A1,{2,4,6,8},0)

1
非常に素晴らしい。値が数値でない場合は、「引用符」を追加することを忘れないでください(数個を試してみてください)。
ダブ

1
悲しいことに、これを条件付き書式で使用することはできません:(
StarWeaver

もちろんできます。Excel 2007以降では、IFERROR関数を使用できます。= IFERROR(MATCH(A1、{2,4,6,8}、0)、0)その後、そのセルが0であるか> 0であるかを条件付きで設定できます。
RPh_Coder

6
=OR(4={2,4,6,8})
Slai

この答えは、ソリューションが#N / Aを返すことは明らかです-それは本当です。しかし、役に立たないようです:if節で#N / Aを使用できないため、IF(MATCH(4 {2,3}、0)、 "yay"、 "boo")...と言うことはできません。答えは、#N / Aではない「ブーイング」である
GreenAsJade

18

countifを他の出力(ブール値など)に変換する場合は、次のようにすることもできます。

= IF(COUNTIF(some_names、D1)> 0、TRUE、FALSE)

楽しい!


3
TRUEとFALSEは、何を交換する必要があるかを示しています
-Darcys22


4

some_names明示的に範囲を指定できる場合にブール値を返す気の利いた小さなトリックがあります"purple","red","blue","green","orange"

=OR("Red"={"purple","red","blue","green","orange"})

これは配列式ではないことに注意してください


実際に、配列式です。配列に入力された数式ではありません
;

2

あなたは巣ができ--([range]=[cell])IFSUMIFSまたはCOUNTIFS引数。たとえば、IF(--($N$2:$N$23=D2),"in the list!","not in the list")。これにより、メモリをより効率的に使用できると思います。

また、あなたがラップすることができますISERROR周りVLOOKUPに巻き付け、すべてIFのステートメント。のようなIF( ISERROR ( VLOOKUP() ) , "not in the list" , "in the list!" )


0

配列数式バージョン(Ctrl + Shift + Enterで入力):

=OR(A3:A10=D1)

これは動作します。私はdownvoterはそれが{= OR(R34:R36 = T34)}のようになります...配列数式を入力する方法を知りませんでしたので、それがdownvoteを得たと思うあなたはcorretlyそれを入力した場合、それが入っています後
GreenAsJade

-1

このような状況では、発生する可能性のあるエラーについてのみアラートを受け取りたいので、この方法で状況を解決します...

=if(countif(some_names,D1)>0,"","MISSING")

次に、この数式をからE1にコピーしE100ます。D列の値がリストにない場合、「MISSING」というメッセージが表示されますが、値が存在する場合、空のセルが表示されます。これにより、欠損値がさらに際立ちます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.