• ベストアンサー

エクセルでセルの値がある範囲にあれば1と表記したいです

あるセルの値(B1)が C2からC13までの中に含まれていれば1, C14からC28に含まれていれば2 のように表記したいと考えています。 以前教えて頂いたことのある if(countif(C2:c13,B1)>0,"1","")のような式を応用しようとして ネストやANDを使ってみたのですがエラーが出て式が作れません。 アドバイス頂けますでしょうか。 宜しくお願いします。

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

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

ネストで行なう場合 =IF(COUNTIF(C2:C13,B1)>0,"1",IF(COUNTIF(C14:C28,B1)>0,"2","")) それ以外で行なう場合、こんな方法があります。 ■VLOOKUP関数 D2:D13に1、D14:D28に2をセットして =IF(COUNTIF(C2:C28,B1),VLOOKUP(B1,C2:D28,2,FALSE),"") ■SUMPRODUCT関数 =SUMPRODUCT(MIN(10^(C2:C28<>B1)*(1+(ROW(C2:C28)>13)))) ※存在しない場合は10が表示されます。  別の数値にする場合は10^の数値部分を3以上の数値に変えてください。

mishiremi
質問者

お礼

回答どうもありがとうございます。 私の勘違いでcountif以下からしかネストしていませんでした。 他にもいろいろな方法まで教えて頂いて勉強になりました。

その他の回答 (3)

  • onlyrom
  • ベストアンサー率59% (228/384)
回答No.3

両方にあった時は??? 0: 両方の範囲にない時 1: C2~C13  だけにあった時 2: C14~C28 だけにあった時 3: 両方の範囲にあった時 とするなら、 =(COUNTIF(C2:C13,B1)>0)*1+(COUNTIF(C14:C28,B1)>0)*2 今回の場合は、*1 は不要です。 以上、参考までに。  

mishiremi
質問者

お礼

回答どうもありがとうございます。 今回はどちらかにしか存在しないものでしたが、 今後教えて頂いた場合もありそうなのでとても助かりました。

  • kuma56
  • ベストアンサー率31% (1423/4528)
回答No.2

方法は幾つかあるかもしれないけど・・・ 最初の if(countif(C2:c13,B1)>0,"1","") を使って、下記のように入れ子にしてやればできるのではないでしょうか。 =IF(COUNTIF(C2:C13,B1)>0,"1",IF(COUNTIF(C14:C28,B1)>0,"2","")) IF関数は =IF(論理式 , 真の場合 , 偽の場合) こんな構成になっていますが、この 偽の場合 の所に第二条件で IF関数式 を入れ子にしてやることが出来ます。 入れ子はもっと続ける事が出来ますが、あまり多くなる時には別の関数を使うなどした方が、すっきりする場合もあるようです。

mishiremi
質問者

お礼

どうもありがとうございました。 入れ子にcountif以下しか入れてませんでした。 if関数から必要なのですね。

回答No.1

以下ではどうですか? =IF(COUNTIF(C2:C13,B1)>0,"1",IF(COUNTIF(C14:C27,B1),"2","含まれていません"))

mishiremi
質問者

お礼

早速の回答どうもありがとうございます。 試してみたのですが、全て「含まれていません」となってしまいました。 なぜでしょう。。。

関連するQ&A