• ベストアンサー

IF関数についてです

A2のセルには=T26-B41の引き算されるようになっています。 その引き算の結果が0の場合、空欄と表示されます。 C2のセルに=IF(A2="","","○")と入れています。A2が空欄だと○と表示されないようにしているのですが空欄でも○と表示されます。なぜなのでしょうか?

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

>なぜですか アナタの今のエクセルは,「引き算の結果がゼロの時に空白で表示している」だけであって,A2の値は空欄に見えていてもゼロです。 なので C2: =IF(A2="","","○") では,A2は空白(””)じゃないので○が表示されます。 どうすればいいのかと聞きたかったときは,2通りの方法があります。 方法1: C2を =IF(SUM(A2)=0,"","○") とします 方法2: A2を =IF(T26=B41,"",T26-B41) として,引き算の結果がゼロになる(べき)ときは,ゼロじゃなく””を計算させるようにします。 こうしておけばC2は今のまま,IF(A2=""… で十分ですね。

mr3621
質問者

補足

できました!有難うございます。補足なのですがS41のセルに=IF(R41="","",ROUNDDOWN(O41*R41,0))をいれているのですがO41もR41も空欄なのにS41にエラーが表示されます。なぜなのでしょうか?R41には先程のA2のセルから値がとんできます。現在A2は空欄です。

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

こういう「ついでに教えて」ご相談て、最初のご質問が解決したことはすっかり無かったことにされて、ダラダラ引っ張って引っ張って続くので、ちょっとうんざりです。 一つのご相談で一つのご質問が解決したら一回終わり。次の疑問はまた改めて投稿しなおしてくださいね。 >=IF(R41="","",ROUNDDOWN(O41*R41,0)) おんなじじゃないですか。 そもそも2通り回答しましたけど、まだ「A2は空白のまま」って、いったいあなたは回答を見て何をしたのですか。 方法1) S41を =IF(SUM(O41)*SUM(R41)=0,"",ROUNDDOWN(O41*R41,0)) 方法2) R41を =IF(SUM(A2)=0,"",A2) O41を =IF(なんたら,"",なんたら) S41を =IF(OR(O41="",R41=""),"",ROUNDDOWN(O41*R41,0))

  • koko88okok
  • ベストアンサー率58% (3839/6543)
回答No.2

> S41のセルに=IF(R41="","",ROUNDDOWN(O41*R41,0))をいれているのですがO41もR41も空欄なのにS41にエラーが表示されます。なぜなのでしょうか?R41には先程のA2のセルから値がとんできます。現在A2は空欄です。 R41はA2を参照していますので空白ではありません。 『R41には先程のA2のセルから値がとんできます。』と言うことですので、A2を参照した数式が入力されているはずです。 (A2にも数式が入力されていますので空白ではありませんよね。) R41には数式が入力されていますから、Excelは『ROUNDDOWN(O41*R41,0)』を計算しますが、空白のO41と空白でないR41の積はエラーとなります。 なお、『R41には先程のA2のセルから値がとんできます。』と表現されていますが、値が飛ぶことはありません。R41に入力された数式がA2の値を参照しているだけです。 もし、平たく表現するなら引っ張ってくると言う感じです。 「セル参照 シート参照 ブック参照 外部参照」 http://www.excel.studio-kazu.jp/lib/e2j/e2j.html

関連するQ&A

  • IF関数の組み合わせ

    A1セル 21000 B1セル 20000 引き算して1000以上なら+と表示、999以下なら△を表示したいのです。 結果はC1セルにして =A1-B1にIF関数を入れるにはどうしたら良いでしょうか? =IF(C1>=1000,"+","△") 結果 +1010 △988 組み合わせが分からないので教えて下さい。

  • IF関数で

    AとB列に数値(空欄もあり)が入力してあります。 C列にAかBに数値が入力してあれば○を表示したいのですが CもBも空欄の場合は非表示です。 =IF(A1="","","○")に何を追加すればよいでしょう?

  • IF関数についておしえてください。

    お世話になります。 作成している表の中で、利用しようとおもっている関数について教えてください。 A1セルに下記のようなIF関数を作成しました。 =IF(AND(B2>=1,C2<=0),"○",IF(AND(C2>=1,B2<=0),"○",IF(AND(B2>=1,C2>=1),"○",IF(AND(B2<=1,C2<=1),"")))) B2セルは別シートからVLOOKUPを利用して検索してきて、数字を表示させているセルのため、 該当しない場合”#N/A”と 表示されるところがありました。それで、”=IF(ISERROR”を利用して、#N/Aと表示される場合、空白で表示される数式にしたところ、今度はA1セルが条件にあっていないのに”○”と表示されるようになりました。≪”B2=空白(”#N/A”),C2<=1の場合にあたるのだと思います。≫ *B2セルを”空白”ではなく”0”で表示させるようにしても同様に”○”となりました。 A1セルに、  B2>=1,C2<=0の場合”○”  C2>=1,B2<=0の場合”○”  B2>=1,C2>=1の場合”○”  B2<=1,C2<=1の場合"空白" で表示できる方法をご存じの方、ご教示お願いいたします。 簡単なことなのかもしれませんが、エクセル関数初心者のため、大変困っております。 うまく、不明な点を説明できていませんでしたら、申し訳ございません。何卒 よろしくお願いいたします。

  • エクセルのif関数で

    エクセルのif関数でこれができるのかわかりませんが、 C1~C10の中の文字列の中にA1と同じ文字列があればB1に「1」を入れ、なければ「2」を入れるということをやりたくて B1のセルに IF(OR(C$1:C$10=A1),1,2) という計算式を入れました。 関数の引数の中の数式の結果では、正しい結果が表示されてるのですが、B1のセルには間違った結果が表示されます。 また、B2以下B20まで計算式をコピーするとB11以下は#VALUE!になってしまいます。 一つ一つを見てみると、どうやらセルに正しく表示されるのはAの行とCの行が=だった場合のみのようです。 #VALUE!が表示されているセルも含めて、数式の結果では正しい結果が出ているのにセルの表示が違っているのが納得できませんが、おそらく何かが間違っているのでしょう。 間違いを教えてください。 よろしくお願いします。

  • IF関数について

    A4に=IF(SUM(A1:A3)=0,"",SUM(A1:A3))、 B4に=IF(SUM(A1:A3)=0,"",SUM(A1:A3))と式があり C4に=IF(AND(A4="",B4=""),"",B9-C9)と入力すると #VALUEが返ってしまいます。 A4,B4どちらかのセルが""の時でもB9-C9の引き算の値が返るようには出来ないでしょうか?

  • IF関数を使った数式がおかしいのですが…

    エクセルに詳しくない為、下の数式のどこがおかしいのか全くわかりません。どうかよろしくお願いします。 ・B1が「0」であればC1は「×」 ・B1が「0」以外でA1とA2の両方が「◎」ならC1は「◎」 ・または、B1が「0」以外でA1とA2の両方が「△」ならC1は「△」 ・B1が「0」以外で、A1とA2の両方が「◎」または「△」に揃っていない場合はC1は「○」 …となるようにしたいのですが、どうしてもうまく表示されません(A1が「○か△」でA2が「◎」の時は正常に表示されるのですが、A1「◎」でA2「○か△」の時にどうしても「◎」となってしまいます)。 C1のセルに入力している数式は、 =IF(B1=0,"×",IF(A1:A2="◎","◎",IF(A1:A2="△","△","○"))) です。自分なりに調べてみたもののさっぱりです。IF関数 では無理なのでしょうか…。 よろしくお願いいたします。

  • IF関数について

    エクセル2013使用です IF関数について教えて下さい A1が空欄だった場合はB1×B2の答えを A1が空欄ではない場合はC1×C2の答えを D1に表示させたい場合の数式を教えて下さい 初歩的な質問でゴメンナサイ お願い致します

  • IF関数で

    セルA1、B1、C1、D1が空欄の場合、別シートA3を表示する式を教えてください。

  • エクセルでIFとANDを使った関数について教えて下さい

    A B C D E F G 1 1 2 3 結果 2/3 2/4 2/5 2 2/3 2/4 2/5 合格 0 0 1 3 上記のような表を作成しようとしています。条件が、 D1が「合格」で、 C2の日付がE1(該当セル、E1なら2/3、F1なら2/4)と同じなら「1」、 違うなら「0」、 B2の日付がE1(該当セル、E1なら2/3、F1なら2/4)と同じで尚且つ、 C2が「空欄」なら「1」、違うなら「0」、 A2の日付がE1(該当セル、E1なら2/3、F1なら2/4)と同じで尚且つ、 C2が「空欄」で、B2が「空欄」なら「1」、違うなら「0」 を返しなさい。 という関数を作りたいのですが、上手くいきません。 IFとANDを使えばいいと思うのですが、どのように組み合わせれば 良いでしょうか。 真を返す、優先順位は、C2、B2、A2、のセルです。 C2に日付が入ってるときはB2とA2に日付が入っていても カウントされないように(偽が入るように)したいのです。 ちなみに、最初は、 =IF($D2="合格",IF($C2=E$1,1,IF($B2=E$1,1,IF($A2=E$1,1,0))),0) と、入れてましたが、これだと、C2に日付が入った時にC2だけカウント したいのに、B2もA2もカウントされてしまいます。 どうか、良きアドバイスをお願いします!!

  • IF関数について

    エクセル2013使用です IF関数について教えて下さい A1が空欄だった場合はB1×B2の答えを A1に文字が入っていた場合はC1×C2の答えを D1に表示させたい場合の数式を教えて下さい お願い致します