• ベストアンサー

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

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

  • newkim
  • お礼率78% (125/160)

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答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% (363/1775)
回答No.2

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

newkim
質問者

お礼

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

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

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

newkim
質問者

お礼

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

関連するQ&A

  • エクセル 関数で任意の数字に対応する複数セルを置換する

    恐れ入ります 教えていただけると幸いです エクセルの関数を使って任意の数字に対応する複数セルを任意のセル所へ置換する方法はあるのでしょうか? 例     A    B     C      D    E F G      5    11    18     23        8:00   20:00  1:00  遅 A列に5日,11日,18日,23日(数字は月の日付で、2日間かもしれないし10日間かもしれない予測不能)をうつとこの日付けの行のところに別のところに作った”8:00-遅”の4列の情報が入るようにしたいのです。 

  • エクセルSUM関数の範囲を任意に変える

    セルB1に=SUM(A1:A10)と、とりあえず入力しました この関数の範囲をセルC1の数字で帰れるようにしたいです C1に10と入力すれば=SUM(A1:A10) C1に20と入力すれば=SUM(A1:A20) となるように出来ますか?

  • オープンオフィスで任意の位の数字を取り出すことは出来ますか

    4ケタのランダム数字がたてに百通り入っています、 例えば1539なら A1セルに千の位(1)  B1セルに百の位(5) C1セルに十の位(3) D1セルに一の位(9) このような形で縦に100通り4ケタの数字が入っていたとして A1セルの千の位が0で始まる4ケタの数字だけ任意で取り出すような関数または数式はありますでしょうか?

  • エクセル関数/任意の桁数の数字1個1個を別々のセルに読み込む関数

    こんにちは 例えば、あるセルに123456という6桁の数字が入っていたとして、1、2、3、4、5、6の6個の数字をそれぞれ別々の(6個の)セルにコピーしてくれるようなエクセル関数はあるでしょうか?

  • 一つのセルに関数計算式と数字を入れたいです

    エクセルの質問です一つのセルに関数計算式と数字を入れる様にすることは可能でしょうか? 例えば そのセルに何も入力しないと、他のセルとの計算結果が表示され、数字が入力されると、その数字を元に他のセルへ計算結果が出る様にしたいのですが、A1のセルに何も数字を入力しないと、計算式でA1は=B1/C1の%表示で、A1に数字を入力すると、その数字を元にB1は=C1*A1の計算結果を反映させたいのですが、よろしくお願いします

  • エクセルの範囲セルの範囲セルについて

    ExcelVBAで、ある範囲のセルを基準として、その範囲の中の範囲を表したい のですが、どうすればよいのでしょうか? 以下のセルで、A1:D2の範囲を使ってA2からD2の範囲を表す方法です。 A1 B1 C1 D1 A2 B2 C2 D2 A2のセルはRange("A1:D2").Cells(2,1)で表すように Range("A2:D2")でなく、Range("A1:D2")を使ってA2からD2の範囲を表す方法が知りたいです。

  • VLOOKUP関数の範囲をセルで指定したいと思っています。

    VLOOKUP関数の範囲をセルで指定したいと思っています。 B1:参照シート名(VLOOKUP関数で使用する範囲があるシート) C2:範囲の開始位置 E2:範囲の終了位置 B3:G3:列番号(B3の値は、B6:B8の範囲で使用する列番号、 D3の値は、D6:D8の範囲で使用する列番号) これらのセルに入力された情報をもとにB6:G8の範囲にVLOOKUP関数を 反映させたいと思っています。 例えば、 B1に参照シート名「2ケタ」 C2にVLOOKUP関数の範囲の開始位置「A5」 E2にVLOOKUP関数の範囲の終了位置「G7」 B3に範囲の列番号「2」がある場合 B6に「=VLOOKUP(A6,'2ケタ'!A5:G7,2,0)の関数を入力。 B2に参照シート名「3ケタ」 C5にVLOOKUP関数の範囲の開始位置「B5」 E2にVLOOKUP関数の範囲の終了位置「H7」 C3に範囲の列番号「3」がある場合 C6に「=VLOOKUP(A6,'3ケタ'!B5:H7,3,0)の関数を入力。 といった感じです。 現在、B6に「=VLOOKUP($A6,INDIRECT($B$1&"!a5:g7"),INDIRECT("$b$3"),0)」と 関数を入力して、VLOOKUP関数の「範囲の参照シート名」と「列番号」の情報は セルから持ってくることができました。 しかし、「a5:g7」という範囲だけは、INDIRECT関数をうまく入れることができません。 どのように関数を入力したら、上手くいくのか、教えていただけないでしょうか。

  • Excelで任意の位の数字を取り出すことは出来ますか

    例えば、A1のセルに1234という数字が入っていたとして B1に千の位(この場合は1)  B2に百の位(2) B3に十の位(3) B4に一の位(4) と言う風に任意の位の数字を取り出すような関数または 数式はありますでしょうか?

  • EXCELの関数

    A10セルからA20セルまでの範囲でXを入力し、さらに、C10セルからC20セルまでの範囲である任意の金額(たとえば¥10000など)を入力した時のみの合計個数をD1セルに表示させたいのですが、関数を教えてください。よろしくお願いします。

  • 同一セル内の3桁の数字を任意の数字に変換し表示

    excelの関数を教えて下さい。 同一セル内の3桁の数字(1から8までの数字を使用した3桁;例えば124)を、別のセル内に、関数(12345678をそれぞれ24587613へ変換する関数)で変換された3桁(例えば248)で表示したいのですが、その際に使用する関数を教えてください。エクセル上に表示する数字は1から8までのうちの3桁で、12345678をそれぞれ24587613へ変換したいです。 各セルに1数字の場合はVLOOKUP関数を使用し変換できたのですが、同一セル内に複数数字がある場合の考え方がわかりません。 よろしくお願いします。

専門家に質問してみよう