こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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を残したいので、解決方法
があればご教示下さい。

投稿日時 - 2017-04-20 15:31:03

QNo.9319736

困ってます

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

ん?難しく考えすぎかな?と思いますよ。

ご提示の条件を満たすだけなら
  =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の時の位置をセミコロンで分けた上で何も入力しないでおく、
というのがポイントです。

投稿日時 - 2017-04-20 19:15:21

お礼

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

投稿日時 - 2017-04-21 00:48:25

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(6)

ANo.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になります。

投稿日時 - 2017-04-20 23:15:30

ANo.4

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

投稿日時 - 2017-04-20 16:52:09

補足

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

投稿日時 - 2017-04-20 21:48:06

ANo.3

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

投稿日時 - 2017-04-20 16:08:17

補足

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

投稿日時 - 2017-04-20 21:52:28

ANo.2

例えば
A3に、式
A4に、回答
を、表します
(※注:()表記内は対象外)


A3の
セルの、書式設定を
文字列に、変更してから
=IF(D16>H18,D16*J8-K8,D16*J7-K7)
と、入れ

次に、A4の
セルの、書式設定を
数値に、変えてから
=IF(D16>H18,D16*J8-K8,D16*J7-K7)
と、入れます

投稿日時 - 2017-04-20 16:03:43

ANo.1

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

投稿日時 - 2017-04-20 15:37:32

お礼

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

投稿日時 - 2017-04-21 00:37:05