• ベストアンサー

関数を使っている計算式の答えを切り捨てにしたい。

関数を使用するのは初心者です。 会社で先輩に教えられた関数をいれました。 =IF(L6="b",K6×0.9,IF(L6="c",K6×0.8)) です。 この計算式では四捨五入になってしまいます。この関数を使って答えが切り捨てになる方法をぜひ教えて下さい。宜しくお願い致します。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.4

No2,3 merlionXXです。 > L6の時はK6の数字を > L7の時はK7の数字を使うという感じです。 =IF(L6="","",ROUNDDOWN(K6*IF(L6="a",1,IF(L6="b",0.9,IF(L6="c",0.8,IF(L6="d",0)))),0)) これを下方向に必要なだけコピーすればそうなります。 なお、L列のセルに a b c d および 空白 以外の値が入った場合は0が表示されます。

noname#194447
質問者

お礼

どうもありがとうございました。完璧です。教えていただいたにもかかわらず、自分自身に大満足です。 これを機会に関数をすこしずつでも習得していけるようにがんばります。 本当に助かりました。ありがとうございました。

その他の回答 (3)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.3

No2 merlionXXです。 > しかし、L6に何も入っていない時は、#VALUE!と表示されてしまいます。 No1さんのでもわたしのでもそうはなりませんよ。 あなたが、式を改変したからそうなったんじゃないんですか?(""をROWND出来ませんからエラーになったのです。) 質問は正しく書きましょう。 あなたの書いたのを直すなら =IF(L6="","",ROUNDDOWN(IF(L6="b",K6*0.9,IF(L6="c",K6*0.8)),0)) でも、K6を二度登場させるよりは =IF(L6="","",ROUNDDOWN(K6*IF(L6="b",0.9,IF(L6="c",0.8)),0)) のほうがいいかも。 だけど、L6が b c 以外の場合はどうするの?

noname#194447
質問者

補足

ありがとうございます。他の人の話も聞きかじりながら行ってしまっているので、途中で変わってしまってすみません。 L列には、a b c dと空白の五種類がはいります。 aの時→k列の数字をそのまま bの時→k列の数字の90%(切り捨て) cの時→k列の数字の80%(切り捨て) dの時→ 0 にしたいのです。 L6の時はK6の数字を L7の時はK7の数字を使うという感じです。 これから教えていただいた様にやってみます。よろしくお願い致します。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

ご提示の数式では「四捨五入」されませんね。 ただ、セルの幅が足りなくなって四捨五入表示になっているのだと思います。 セルの幅を広げてみてください。 で、本当に四捨五入するなら =ROUND(IF(L6="b",K6*0.9,IF(L6="c",K6*0.8)),0) のように書きます。 切り捨てなら =ROUNDDOWN(IF(L6="b",K6*0.9,IF(L6="c",K6*0.8)),0) 切り上げなら =ROUNDUP(IF(L6="b",K6*0.9,IF(L6="c",K6*0.8)),0) です。 ただ、切捨てでも四捨五入でも、どの桁でするのかをはっきりさせなくてはいけません。上記の例は、小数第一位を対象にし、整数にしています。 最後の,0)の部分を、1とか2とか、あるいは-1とか-2にしてみるとわかりますよ。

noname#140925
noname#140925
回答No.1

切り捨てにはROUNDDOWNを使いましょう。 以下は小数点以下を切り捨てて整数にします。 =ROUNDDOWN(IF(L6="b",K6*0.9,IF(L6="c",K6*0.8)),0) ちなみに、切り上げはROUNDUP、四捨五入はROUNDです。 詳しくは、それぞれの関数のヘルプを見てください。

noname#194447
質問者

お礼

ありがとうございました。解決いたしました。

noname#194447
質問者

補足

ありがとうございました。L6にbかcが入っている時は、切り捨てになりました。感激です。しかし、L6に何も入っていない時は、#VALUE!と表示されてしまいます。 =ROUNDDOWN(IF(L6="","",IF(L6="b",K6*0.9,IF(L6="c",K6*0.8))),0)と入れてみましたが… すみません。#VALUE!と表示されないように、もう一度教えて下さい。お願い致します。

関連するQ&A