• ベストアンサー

一つのセルでIF関数を二つ使いたい

二つのセルの値を割って、%を表示させるために、三つ目のセルには 「=1-(B1/A1)」を入れていたのですが、そこに、二つのセルが空白の時にはエラー表示にならないようにIF関数を使い、三つ目のセルは 「=IF(ISBLANK(A1),"",(1-(B1/A1)))」 という数式にしました。 その数式にさらに、もし二つのセルの値が「0」の時には、結果を「0%」として表示させたくて、三つ目の数式の中にもうひとつのIF関数を同時に使いたいのですが、 一つのセル内に、IF関数を使って結果をうまく表示させるには、どのような数式にすれば良いでしょうか??

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

回答No1です。エラーの原因はA1セルが0の時ですから次のようにするのがよいでしょう。 =IF(ISBLANK(A1),"",IF(A1=0,0,1-B1/A1))

petit_pomme
質問者

お礼

お時間をいただきどうもありがとうございました! こちらの数式で問題なく表示させることが出来ました。m(_ _)

その他の回答 (2)

回答No.3

確かに質問者への回答は、No1の回答で正解と思います。 しかし、そもそもA1の値が「0」の時の処理を行いたいだけだと思います。 ですので =IF(A1=0,"",1-B1/A1) でOKです。 A1がブランクだろうがなんだろうが、数字換算して0ならどうするとの式の方が簡単です。 通常は、これで良いのですが、A1に数字に換算できないような物を入力するとエラーになります。 例えば A1に 「日光」などの文字を入力するとエラーです。 そこまで考えると =IF(N(A1)=0,"",1-B1/A1) A1 を強制的に数字に置き換えて判断します。置き換えできないものは、0 になるのでより安全ですが、通常はここまでしませんね。

petit_pomme
質問者

お礼

お時間をいただきどうもありがとうございました。。m(_ _)m No.2の方の数式で出来ましたので、そちらをベストアンサーとさせていただきます。。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

次のようにします。 =IF(ISBLANK(A1),"",IF(AND(A1=0,B1=0),0,1-B1/A1))

関連するQ&A