• ベストアンサー

エクエル関数 任意の数字がセル範囲にあるか調べたい

任意の数字が、あるセル範囲にあるかどうかを調べる関数はあるんでしょうか? 例えば、1がA1~D10の範囲にあるかどうかを調べる関数ってないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.6

1列の場合なら A2:A5に数字が入っているとします。 234 1234 56 96 -- 例えばB2セルに(56という数字をチェックする場合) =IF(ISERROR(MATCH(56,A2:A5,0)),"なし","あり") で存在がチェックできます。 しかし複数の列(行)のセルからは探せません。 ーー ユーザー(自作)関数で、VBAですが Function fnd(b, a) Set x = Range(b).Find(a) fnd = x.Row End Function でも作れば シートのセルに =fnd("A2:C5",14)で4になった(行番号を返す設計) データ例として、A2:C5が 234 13 34 1234 45 52 56 678 14 96 21 46 の場合。 ーー 多列多行を対象にする場合はCOUNTIFしかないようです。 ただしこちらは、それが存在するセル位置がわかりません。

newkim
質問者

お礼

ありがとうございます。多列多行対象はCOUNTIFしかないんですね。参考になりました。

その他の回答 (5)

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.5

質問分が微妙なので深読みしました。 任意の『数値』がセル範囲内にあるかを調べたいなら既出の回答で良いのですが、文字列や数値が入り混じったセル範囲の中で任意の数字が出てくるか否かを確認したいのでしたらこんな式で如何でしょうか =(SUMPRODUCT(LEN(TEXT(A1:D10,"標準"))-LEN(SUBSTITUTE(TEXT(A1:D10,"標準"),"1","")))>0) 文字列の中に「1」があっても、数値に「1」が使われててもカウントします。 TRUEならあり、FALSEならなしです。

newkim
質問者

お礼

ありがとうございました!

回答No.4

  COUNTIF(セル範囲,検索条件) で、「セル範囲内の検索条件に合致するセルの数」を調べます。 なので、   =COUNTIF(A1:D10,1) でA1~D10の範囲に1があればその数を、無ければ0を返します。 その他、条件付き書式を使って 「セルの値が1だったら、赤く塗りつぶす」 などとやっても、広義では > セル範囲にあるかどうかを調べる という目的を達成したと言えるでしょうね。

newkim
質問者

お礼

そうですね、countifで良かったんですね。難しく考えすぎてました。ありがとうございます

  • chachaboxx
  • ベストアンサー率23% (412/1777)
回答No.3

そのものの関数はないと思いますが、 =IF(MIN(A1:D10)<=E1,IF(E1<=MAX(A1:D10),E2,E3),E3) で、同じ結果が得られます。 【E1】セルに任意数を入れると、上記式を入れたセルに結果を表示します。 【E2】セルに範囲内処理を入力:例)”範囲内”と入力 【E3】セルに範囲外処理を入力:例)”範囲外”と入力

newkim
質問者

お礼

ありがとうございました!

  • msMike
  • ベストアンサー率20% (368/1812)
回答No.2

=SUMPRODUCT((A1:D10=1)*1) {=SUM((A1:D10=1)*1)} ←配列数式

newkim
質問者

お礼

ありがとうございました!

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

=COUNTIF(A1:D10,1) 上の式で、範囲内の1であるセル数をカウントできます。 単に、1があるかないかなら、 =IF(COUNTIF(A1:D10,1),"ある","ない") のようにすればOKです。

newkim
質問者

お礼

そうですね、countifで良かったんですね。難しく考えすぎてました。ありがとうございます。

関連するQ&A