• ベストアンサー

エクセルのIF文

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

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答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/17068)
回答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

  • ExcelでIF文などを使いこなしたいのですが・・

    Excelのセルの中にIF文などを埋め込んだりする処理を 何というのでしょうか? Excelをよく使うのですが、SUM関数などしか知らない為、 セルにIF文を埋め込む処理をもっと覚えたいと思うのですが どういう本を買えばいいのか分かりません・・。 Excelの関数の本でしょうか? Excelの関数の本については初歩的な本をもってるのですが、 関数ウィザード?を使ったものしか載ってなくて、 IF文などについては全く載っていません・・。 マクロ?とかいうものについて書かれた本を 買えばいいのでしょうか? それから、IF文等は、Excelだけではなく、Wordも使えるのでしょうか? 使えるとしたら、文法は全く一緒でいいのでしょうか?

  • IF文の使い方

    IF文の使い方について教えて下さい.一応ヘルプを見て以下のようなIF文を作ったのですが,文字列と認識されてしまっているようで全く意図したような数字が入りません. なお,IF文を入れたセルは書式で確認しても文字列ではなく,標準になっています. やりたいことは,C列の数字がゼロならB列の数字(単価)を使って,ゼロでなければC列の数字(区別単価)を使ってD列の数量をかけた合計をE列に表示(計算)させたいのですが. 下の例だとEのセルには125*1200が入ってもらいたいのです. 単価    特別単価    数量     合計 B列     C列      D列     E列 125      0      1200    IF(C5=0,=D5*B5,D5*C5)

  • EXCELのIF文について

    あるセルに文字が入力されていないときは、もうひとつのセルの数字を=で持ってきて、 入力されたときは0か空白にできるIF文の作り方ありますでしょうか?

  • excelのif文について

    excelのif文でうまくいかないことがあり御相談します。セルH4内にIF((B4-B3)=0,"","F4")という文章を組んで、セルB4とB3の値が等しい場合はブランクにして、等しくない場合はセルF4内の値を表示するようにしたいのですが、F4とそのまま表示されます(セルF4内部の値を表示したい)。何か間違っていると考えますが、それをご指摘いただきたいとお願いします。

  • エクセルの関数(IF文)について

    エクセルで表を作り、土・日を除いた日付を表示し、日付の隣のセルに水曜日の場合には○を付けるようにしております。もし水曜日が祝日の場合には、火曜日に○を付けようにしたいのですが、マクロを使用しないでIF文等で可能でしょうか。よろしくお願いします。

  • excel IF文について教えて頂きたいです

    excelのIF文を用いセルO5に対して 0~0.5のとき0 0.5~2.0   1 2.0~5.0  10 5.0~  100 のような分類を行いたく =IF(0<O5,0,IF(0.5<O5,1,IF(2<O5,10,IF(5<O5,100,"")))) このような入力を行ったのですが上手くいきません。 間違いについてご指摘頂きたいです。 よろしくお願いします。

  • エクセルVBAのif文で同じ処理をまとめる方法

    エクセルのVBAのif文で質問です。 ・J1セルに「1302」が入っており、K1セルが空欄だった場合、K1セルに「0000」を入力する という場合、 If .Range(J1).Value = "1302" And .Range(K1).Value = "" Then  .Range(K1).Value = "'0000" End If となりますが、これがJ1=1302だけではなく2117や4101など、10種類以上の異なる値で同じ処理が必要な場合 同じ形のプログラムを羅列していく以外の書き方はありますでしょうか? if~End ifがいくつも並んでいて、うまくスッキリとまとめられないのだろうかと思い質問しました。 よろしくお願いいたします。

  • Excel97で、If文をなんとかしたい

    IF文でなんとかなりそうなんですが、IF文を使った事がなくて。 A列   B列   C列    任意の位置のセルD 数式  文字列   数式  文字列 数式  文字列 数式  文字列 こんな表で、Bの文字列の値と、Dのセルの値が一致した時、Aの数式の値(数字)をCの列に表示させ、BとDの文字が一致しない時は、”エラー”を表示させたいんですが、どういう風にすればいいのでしょうか? IF文を使えばいいのでしょうか? どういう風に、数式を立てればいいのかわかりません。 どなたか詳しい方、教えていただけませんか?

  • Excelでfor文とif文の操作をしたいです

    Excelについての質問です。 Excelで、画像のようにシート1のA列にアルファベットと数字のデータがあり(重複はありません)、B列に1~5の数字が入っているとします。 この時、シート2のB列に、シート2のA列で指定したものと一致する、シートAのB列の値を入力したいです。 (この例の場合、上から順に5、4、1です) プログラミング言語でいう、いわゆるfor文とif文の併用で for(i=1;i<4;i++){ for (j=1;j<8;j++){ if(シート1のセルAj==シート2のセルAi){   シート2のセルBiにシート1のセルBjを値を入れる   ループを抜ける } } } というような感じになると思います。(間違っていたら申し訳ないです。) こういった処理は、Excelのマクロで可能でしょうか? また、できればどうすれば実現できるか、教えていただけると助かります。 よろしくお願いいたします。

  • エクセルのIF文

    IF文が簡単なものしか分からないレベルの者です。 以下の条件においてIF文を作成する場合、どのようにしたら良いでしょうか? 御教示願います。なおエクセルのバージョンはエクセル2000です。 (1)A~C列の十数行のセルには文字が並んでいる(たとえばAXY12341,FAC236等)。 (2)あるセル内(A~C列以外のセル)に入力した文字が、A列のセルにある文字と同じものがあれば、 あるセルの色は赤色になる。 (3)あるセル内(A~C列以外のセル)に入力した文字が、B列のセルにある文字と同じものがあれば、 あるセルの色は青色になる。 (4)あるセル内(A~C列以外のセル)に入力した文字が、C列のセルにある文字と同じものがあれば、あるセルの色は黄色になる。

専門家に質問してみよう