- ベストアンサー
エクエル関数 任意の数字がセル範囲にあるか調べたい
任意の数字が、あるセル範囲にあるかどうかを調べる関数はあるんでしょうか? 例えば、1がA1~D10の範囲にあるかどうかを調べる関数ってないでしょうか?
- みんなの回答 (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しかないようです。 ただしこちらは、それが存在するセル位置がわかりません。
その他の回答 (5)
- mt2015
- ベストアンサー率49% (258/524)
- tsubu-yuki
- ベストアンサー率46% (179/386)
COUNTIF(セル範囲,検索条件) で、「セル範囲内の検索条件に合致するセルの数」を調べます。 なので、 =COUNTIF(A1:D10,1) でA1~D10の範囲に1があればその数を、無ければ0を返します。 その他、条件付き書式を使って 「セルの値が1だったら、赤く塗りつぶす」 などとやっても、広義では > セル範囲にあるかどうかを調べる という目的を達成したと言えるでしょうね。
お礼
そうですね、countifで良かったんですね。難しく考えすぎてました。ありがとうございます
- chachaboxx
- ベストアンサー率23% (412/1777)
そのものの関数はないと思いますが、 =IF(MIN(A1:D10)<=E1,IF(E1<=MAX(A1:D10),E2,E3),E3) で、同じ結果が得られます。 【E1】セルに任意数を入れると、上記式を入れたセルに結果を表示します。 【E2】セルに範囲内処理を入力:例)”範囲内”と入力 【E3】セルに範囲外処理を入力:例)”範囲外”と入力
お礼
ありがとうございました!
- msMike
- ベストアンサー率20% (368/1812)
=SUMPRODUCT((A1:D10=1)*1) {=SUM((A1:D10=1)*1)} ←配列数式
お礼
ありがとうございました!
- mshr1962
- ベストアンサー率39% (7417/18945)
=COUNTIF(A1:D10,1) 上の式で、範囲内の1であるセル数をカウントできます。 単に、1があるかないかなら、 =IF(COUNTIF(A1:D10,1),"ある","ない") のようにすればOKです。
お礼
そうですね、countifで良かったんですね。難しく考えすぎてました。ありがとうございます。
お礼
ありがとうございます。多列多行対象はCOUNTIFしかないんですね。参考になりました。