• ベストアンサー

IF関数についてです

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

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答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/7941)
回答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