• ベストアンサー

Excelの計算式

次の式が成り立つような式が、Excelで出来るでしょうか?あれば教えてください。  IF D16>H8(3,300.000) 真 D16*J8(0.2)-K8(427,500) 偽 D16*J7(0.1)-K7(97,500) のように作るとD6が空白(0)の場合答えに△97,500と表示されてしまう、偽に0と いれておけば0になり解決しますが、出来ればD16*J7-K7を残したいので、解決方法 があればご教示下さい。

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

  • ベストアンサー
回答No.5

ん?難しく考えすぎかな?と思いますよ。 ご提示の条件を満たすだけなら   =IF(D16>H8,D16*J8-K8,D16*J7-K7) で可能でしょうし、 D16セルが0の時(及び空白の時)は結果も0にするのであれば   =IF(D16=0,0,IF(D16>H8,D16*J8-K8,D16*J7-K7)) とIF関数をネストしてやればOKですよ。 蛇足ではありますが、数値の表示形式は   正の時;負の時;0の時 とセミコロンで分けて設定できます。 仮に「D14に0を入力したくない」などあるのであれば、例えば   #,##0.000;[赤]△#,##0.000; としてやると、0の時はブランクとして表示されます。 0の時の位置をセミコロンで分けた上で何も入力しないでおく、 というのがポイントです。

taiya6666koyama
質問者

お礼

早速のご回答ありがとうございました、実際の計算式に投入してみました 完璧でした。こんなに早く完全な回答を頂けるとは思いませんでした 世の中には凄い人がいるんだと感じました。 本当に感謝しています。

その他の回答 (5)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.6

>なお、D6は間違いですD16です 分かりました。 >セルD16に数字をいれずに式のまま次のD17に上の質問の式を入れるとマイナス97,500が入ってしまうためそれを消す方法がないものかと思いご質問しました。 D16が未入力のときD17の計算結果が「-97500」になるのはD16の値が数値の「0」相当であることが理解できているのですよね? 質問では「D16に「0」を入力するとD17の計算結果は「0」になる」とのことですが、それは誤りと思います。 D16に文字列の「0」を入力したときは「-427500」になるはずです。 IF関数で数値と文字列を比較すると「文字列>数値」と言う結果になります。 D17に入力した数式をそのまま提示して頂ければ目的に合う数式に修正できると思います。 質問の内容からはD17セルの数式が次のようになっていると読み取れます。 =IF(D16>H8,D16*J8-K8,D16*J7-K7) この数式でD16が未入力のとき文字数0の文字列("")にしたいのであればIF関数の入れ子にする必要があるでしょう。 =IF(ISBLANK(D16),"",IF(D16>H8,D16*J8-K8,D16*J7-K7)) 但し、D16に数値の0を入力したときは-97500になります。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.4

>D6が空白(0)の場合答えに△97,500と表示されてしまう、偽に0といれておけば0になり解決しますが、 D6は数式の要件に出てきませんが「D16が空白(0)」の誤りでしょうか? 尚、「空白(0)」の「空白」は未入力のことですか? Excelでは未入力を「Blank」と言って「空白文字(" ")」や「文字数0の文字列("")」とは異なります。 未入力のセルは数値として0と同じ扱いになりますので、0と入力した場合と未入力は同じ結果になるはずです。

taiya6666koyama
質問者

補足

D16が空白(0)と書きましたが、セルD16に数字をいれずに式のまま次の D17に上の質問の式を入れるとマイナス97,500が入ってしまうためそれを 消す方法がないものかと思いご質問しました。 なお、D6は間違いですD16です

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.3

「D6が空白(0)の場合」なんてシャーシャーと書いてますが、セル D6 なんて何処にも登場してないじゃありませんか!

taiya6666koyama
質問者

補足

すみませんでしたD6ではなくD16の間違いです。

  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.2

例えば A3に、式 A4に、回答 を、表します (※注:()表記内は対象外) A3の セルの、書式設定を 文字列に、変更してから =IF(D16>H18,D16*J8-K8,D16*J7-K7) と、入れ 次に、A4の セルの、書式設定を 数値に、変えてから =IF(D16>H18,D16*J8-K8,D16*J7-K7) と、入れます

  • f272
  • ベストアンサー率46% (8477/18146)
回答No.1

こんな感じ? =IF(D16="",0,IF(D16>H8,D16*J8-K8,D16*J7-K7))

taiya6666koyama
質問者

お礼

早速ご回答ありがとうございました。実際の計算を試してみました 完璧です、本当にありがとうございました。 4/21 12時35分

関連するQ&A