ワークシート関数 – Excelで、セルが値のリスト(セルの範囲)にあるかどうかを確認する方法は?

microsoft-excel worksheet-function

名前を含む範囲(A3:A10)を持っているので、別のセル(D1)の内容がリストの中の名前の一つと一致するかどうかを確認したいのですが、どうすればいいですか?

A3:A10の範囲に「some_names」という名前をつけたのですが、内容によってTrue/Falseや1/0が出るようなエクセル式が欲しいです

  93  joseph.hainline  2013-05-29


ベストアンサー

=COUNTIF(some_names,D1)

は動作するはずです(名前があれば1、複数のインスタンスがあればそれ以上)

94  pnuts  2013-05-29


私の好ましい答えは(イアンのものを修正したもの)です

=COUNTIF(some_names,D1)>0

これは、D1がsome_namesの範囲内に一度でも入っていればTRUEを返し、そうでなければFALSEを返します

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

68  joseph.hainline  2013-06-06


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

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

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

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

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

27  RPh_Coder  2014-11-10


もしcountifを他の出力(booleanなど)に変換したい場合は、このようにすることもできます

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

Enjoy!

18  Ian McClellan  2013-05-29


多様性を求める場合は MATCH を使用することができます

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

8  barry houdini  2013-05-29


some_namesの範囲が"purple","red","blue","green","orange"のように明示的に指定された場合に、ブール値を返すというちょっとしたトリックがあります

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

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

7  Vrun  2018-07-11


--([range]=[cell])IF, SUMIFS, 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  2013-12-05


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

=OR(A3:A10=D1)

0  Slai  2016-12-08


このような状況では、私は可能性のあるエラーを警告したいだけなので、私はこのように状況を解決するだろう

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

そして、この式を E1 から E100 にコピーします。D列の値がリストにない場合は「missing」と表示されますが、値が存在する場合は空のセルが表示されます。これにより、欠落している値がより目立つようになります

-1  Catchoval  2013-08-24


タイトルとURLをコピーしました