web-dev-qa-db-ja.com

Excelでは、セルが値の一覧(セルの範囲)内にあるかどうかを確認する方法

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

範囲A3:A10に 'some_names'と名前を付けましたが、内容に応じてTrue/Falseまたは1/0を返すExcelの数式が必要です。

88
joseph.hainline

私の望ましい答えは(イアンのものから修正)です:

=COUNTIF(some_names,D1)>0

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

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

66
joseph.hainline

= COUNTIF(some_names、D1)

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

92
pnuts

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

MATCH 関数を使用して、範囲ではなく特定の値を調べることもできます。これはあなたにこれが一致する数を与えるでしょう(この場合、2番目のスポット、2)。一致しない場合は#N/Aを返します。

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

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

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

もしあなたがcountifを他の(ブール値のような)他の出力に変換したいのならば、あなたもそうすることができます:

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

楽しい!

18
Ian McClellan

さまざまな場合は、MATCHを使用できます。

=ISNUMBER(MATCH(D1,A3:A10,0))

7
barry houdini

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

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

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

3
Vrun

--([range]=[cell])IFSUMIFS、またはCOUNTIFS引数にネストすることができます。例えば、IF(--($N$2:$N$23=D2),"in the list!","not in the list")です。私はこれがメモリをもっと効率的に使うかもしれないと思います。

あるいは、ISERRORVLOOKUPの周囲にラップし、すべてIFステートメントの周囲にラップすることもできます。 IF( ISERROR ( VLOOKUP() ) , "not in the list" , "in the list!" )のように。

2
John Skilbeck

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

=OR(A3:A10=D1)
0
Slai