- ベストアンサー
エクセルでセルの値がある範囲にあれば1と表記したいです
あるセルの値(B1)が C2からC13までの中に含まれていれば1, C14からC28に含まれていれば2 のように表記したいと考えています。 以前教えて頂いたことのある if(countif(C2:c13,B1)>0,"1","")のような式を応用しようとして ネストやANDを使ってみたのですがエラーが出て式が作れません。 アドバイス頂けますでしょうか。 宜しくお願いします。
- みんなの回答 (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以上の数値に変えてください。
その他の回答 (3)
- onlyrom
- ベストアンサー率59% (228/384)
両方にあった時は??? 0: 両方の範囲にない時 1: C2~C13 だけにあった時 2: C14~C28 だけにあった時 3: 両方の範囲にあった時 とするなら、 =(COUNTIF(C2:C13,B1)>0)*1+(COUNTIF(C14:C28,B1)>0)*2 今回の場合は、*1 は不要です。 以上、参考までに。
お礼
回答どうもありがとうございます。 今回はどちらかにしか存在しないものでしたが、 今後教えて頂いた場合もありそうなのでとても助かりました。
- kuma56
- ベストアンサー率31% (1423/4528)
方法は幾つかあるかもしれないけど・・・ 最初の if(countif(C2:c13,B1)>0,"1","") を使って、下記のように入れ子にしてやればできるのではないでしょうか。 =IF(COUNTIF(C2:C13,B1)>0,"1",IF(COUNTIF(C14:C28,B1)>0,"2","")) IF関数は =IF(論理式 , 真の場合 , 偽の場合) こんな構成になっていますが、この 偽の場合 の所に第二条件で IF関数式 を入れ子にしてやることが出来ます。 入れ子はもっと続ける事が出来ますが、あまり多くなる時には別の関数を使うなどした方が、すっきりする場合もあるようです。
お礼
どうもありがとうございました。 入れ子にcountif以下しか入れてませんでした。 if関数から必要なのですね。
- galma_zabi
- ベストアンサー率33% (41/124)
以下ではどうですか? =IF(COUNTIF(C2:C13,B1)>0,"1",IF(COUNTIF(C14:C27,B1),"2","含まれていません"))
お礼
早速の回答どうもありがとうございます。 試してみたのですが、全て「含まれていません」となってしまいました。 なぜでしょう。。。
お礼
回答どうもありがとうございます。 私の勘違いでcountif以下からしかネストしていませんでした。 他にもいろいろな方法まで教えて頂いて勉強になりました。