dポイントプレゼントキャンペーン実施中!

エクセル初心者です。
仕事で今度エクセルを使う事になり担当になったのですが、今まで一度も触ったことがなく本を読んで売り上げ入力表を作成しているのですが、、

一つの式の中でチャージと飲み放題の区別のためにif関数を利用したい

のですが上手くいきません。
式を書くのでどこがおかしいのかを教えて頂けないでしょうか。

= if(and(e2<3000),round(sum(c2,j2)*1.15,-2),sum((e2,g2)+ round(j2*1.15)-2))

eは飲み放題、gは飲み放題延長の料金で、cはチャージ料金、jは単品の料金です。1.15はtaxです。

同じ内容を別の質問・回答サイトに投稿したのですがまだ回答がなく、また、
こちらの方が詳しい方が多い様に感じたので再度こちらに投稿させて頂きました。
それぞれifでまとめる前は機能していたのでif関数がおかしいとは思うのですが、自分の手元にある本は細かいことは書いていないのでよくわかりません。
お手数ですが何かヒントでも良いので教えて頂ければとても助かります、
すみませんがどなたかご教授お願いします

A 回答 (4件)

こんにちは!



IF関数をもう一度見直してみてください。
IF関数は
=IF(論理式,真の場合,偽の場合)
といった感じになります。

お示しの数式は「and」があるため
論理式だけの数式になっているように思われます。
E2<3000 かつ ROUND(SUM(C2,J2)*1.15,-2) かつ SUM((E2,G2)+ ROUND(J2*1.15,-2))
の3つの論理式だけで、「真の場合」の処理、「偽の場合」の処理が記載されていないのでは?

おそらくNo.2さんが回答されているような感じをお望みなのではないかと推測します。

すなわち
E2が3000未満の場合 → ROUND(SUM(C2,J2)*1.15,-2)
E2が3000以上の場合 → SUM((E2,G2)+ROUND(J2*1.15,-2))

これを数式でやると
=IF(E2<3000,ROUND(SUM(C2,J2)*1.15,-2),SUM((E2,G2)+ROUND(J2*1.15,-2)))

というコトですかね?m(_ _)m
    • good
    • 0
この回答へのお礼

解決しました!
ANDと()の数、,の抜け などが原因でした!
分かりにくいのに理解して頂きありがとうございます!

真か偽かを表示した後に真の場合の計算、次に偽の場合の計算
としているつもりでした、、余計な事をして尚更分からなくなっていました
ANDについてだけでなくもっと関数を勉強します!
本当にありがとうございました!

お礼日時:2018/01/08 17:59

》 式を書くのでどこがおかしいのかを…


「チャージと飲み放題の区別のために」と仰っているロジック(理屈、内容)を言葉で表現してみてください。それがないと、「どこがおかしいのか」貴方に分かりやすく伝えられません。
言葉での説明が難しければ、サンプルデータと共に、求める数値を入力したものを行列番号入りの表形式で示してください。その方が「エクセル初心者」には理解し易いかと。
率直に言えば、提示されたものはメチャクチャです。
    • good
    • 0

NO1です。

失礼しました
最後の
round(j2*1.15)-2))

round(j2*1.15,-2))
とかでは?
ついでに
sum((e2,g2)+ round(j2*1.15)-2))もおかしい
sum(e2,g2)+ round(j2*1.15,-2)) なのか
Round(sum(e2,g2)+ j2*1.15),-2))なのか




= if(e2<3000,round((c2+j2)*1.15,-2),e2+g2+ round(j2*1.15,-2))なのか
=Round( if(e2<3000,(c2+j2)*1.15,e2+g2+ j2*1.15),-2) なのか
    • good
    • 0
この回答へのお礼

おかしいところのご指摘ありがとうございました!
まだ一つの式の中でどこまでが()内に収まるのか、また、別の式をどう組み込んでいくのかの理解が出来てませんでした!
ありがとうございます!

お礼日時:2018/01/08 17:41

最後の


round(j2*1.15)-2))

round(j2*1.15),-2))
とかでは?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています