• ベストアンサー

エクセルのIF文

 エクセルの表で、セルに数字0が入っている場合は2、そうでなければ0と定義するのに、=IF(E$2=E5,E$3,0)という文を作ったのですが、セルが空欄でも2が返されてしまいます。  セルが空欄の場合は、0を返したいのですが、このIF文に何を補足すればよいでしょうか。

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

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

上記の例ではE5をE2=0で判定してE3=2か0を返すということですか? =IF(AND(E5<>"",E5=E$2),E$3,0) または =IF(AND(ISNUMBER(E5),E5=E$2),E$3,0) 上の式はE5がブランク以外のときを条件追加 下の式はE5が数値であることを条件追加したものです。

JZ302
質問者

お礼

ありがとうございます。下の式は初めて知りました。

その他の回答 (6)

  • NCU
  • ベストアンサー率10% (32/318)
回答No.7

> セルに数字0が入っている場合は2、そうでなければ0 そのまま式にすれば以下の通り: =IF(""&A1="0",2,0)

JZ302
質問者

お礼

ありがとうございます。空欄は0点になるはずなんですが、2点が入ってしまうのがトラブルだったんです。

  • aiai_013
  • ベストアンサー率60% (230/382)
回答No.6

>セルが空欄の場合 E2、E3、E5、算式の入ったセル、どのセルが空白の場合でしょうか。 またもともと、どこに数値を入れ、どこに数値が入っているでしょうか? >=IF(E$2=E5,E$3,0) この算式は、 セルE2とセルE5が同じならセルE3の値を セルE2とセルE5が違うなら”0”を を意味しています。 >セルに数字0が入っている場合は2 この場合、セルE5には”0”セルE3には”2”を入れていると セルE2に”0”を入れた場合に限り、上記算式が入っているセルは セルE3の値である「2」を表示します。 であれば、 =IF(E2=0,E3,0) E2が0の限りE3の数値(2)を表示しそれ以外はすべて”0”を表示する ではいかがでしょうか。 またE5の数値を引用したい場合は =IF(OR(E2=E5,ISBLANK(E2)),E3,0) ではいかがでしょうか。

JZ302
質問者

お礼

ありがとうございます。E5が空白の場合は0点なんですが、2点が入ってしまうことが問題だったんです。

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

>セルに数字0が入っている場合は セルは1つのセルですか。セル範囲(集合)のどれかのセルですか。 質問がはっきりしません。 多分前者として 1つ1つののセルに付いてなら A列(A2以下の)データに対し B2に =IF(AND(A2=0,A2<>""),2,0)  と入れてA3以下に式を複写するのでは 例 A列  B列 0 2 1 0 2 0 3 0 0 2 空 0

JZ302
質問者

お礼

ありがとうございます。教えていただいた式でよいですね。ただ、きょうは、そういうわけか前の式でも不具合はありませんでした。

  • G-Monkey
  • ベストアンサー率38% (14/36)
回答No.4

初めて回答させていただきます。 勘違いしていたらごめんなさい。 条件文と真偽の値を逆さまにしたらどうでしょうか? =IF(E$2<>E5,0,E$3)

JZ302
質問者

お礼

ありがとうございます。この式で大丈夫ですね。きょうは、どういうわけか前の式でも0が出てこなくなったんです。

  • yoshi5029
  • ベストアンサー率28% (19/66)
回答No.2

前半に条件を重ねてみればいかがでしょうか? if(E$2="",0,if(E$2=E5,E$3,0)) E$2が空欄の時は0を返し、それ以外は、通常のif文を返します。 こういう意味でしょうか?

JZ302
質問者

お礼

ありがとうございます。if(E5="",0,if(E$2=E5,E$3,0))という意味です。

  • matui2000
  • ベストアンサー率19% (30/155)
回答No.1

Nullの時に0を返す部分を足せばいいんじゃないでしょうか?

JZ302
質問者

お礼

ありがとうございます。ご指摘の部分が私の分からないところなんです。

関連するQ&A

専門家に質問してみよう