- ベストアンサー
合計値A4の端数0.5を切り下げたい方法とは?
- 質問者は、A4の合計値の端数0.5を切り下げたい方法を知りたいとしています。
- A1からA3の値を足してA4に入れる際、0.5の端数が出る場合、A4を6.0に修正する方法を求めています。
- また、A1からA3の最大値であるA3の数値からも0.5を引いてA3に入れるようにしたいと述べています。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
追加の内容を考慮した場合にはB4セルには次の式を入力します。 =INT(A1:A3) B1セルには次の式を入力します。 =A1-MOD(SUM(A1:A3),1)
その他の回答 (5)
- keithin
- ベストアンサー率66% (5278/7941)
>IF (A4が整数+0.5) ならば B4 に INT(A4) を入れる。 B4に =IF(A4<>INT(A4),INT(A4),"") と入れる。 >と同時に、(最大値でなくてかまわないので)A1-0.5 を B1 に代入する。 B1に =IF(A4<>INT(A4),A1-0.5,"") と入れる。 #既回答のやり方もやってみてください。 それぞれ出来なかったところは,こうやったらここが出来なかったと具体的にやってみたことと,その結果を補足してまたご質問いただくと良いですよ。
お礼
非常にわかりやすかったです。 またよろしくお願いします。
補足
それぞれ出来なかったところは,こうやったらここが出来なかったと具体的にやってみたことと,その結果を補足してまたご質問いただくと良いというアドバイスはおっしゃるとおり。今後質問すると 思いますが、具体的にどうか報告してみます。 このやり方は、自分でも式の意味がわかります。 <> は NOT EQUAL という意味だろうと思います。 ""は何もしない。 A1 1 A2 1 A3 1.5 だと期待通りの結果が得られました。 A1 1.5 A2 1 A3 1.5 だと、B1,B4が 空欄になってしまいます。 ここにも数値をいれた状態がほしいのです。 これが解決すべき課題となってしまいます。 いまの自分だとこれもまた難題。 しかしわかりやすいご回答をいただけてありがたいです。 ありがとうございました。 また質問すると思いますが、よろしくお願いします。
> =INT(SUM(A1:A3)) というアイディアが出ていますが、これは SUM(A1:A3) の結果が正数であることが前提なので、気を付けませうね。 =SUM(A1:A3) の結果が例えば -6.5 のときは、=INT(SUM(A1:A3)) は -7.0 を返します。ちなみに、=TRUNC(SUM(A1:A3)) は -6.0 を返します。
- KURUMITO
- ベストアンサー率42% (1835/4283)
次のような式でも小数点以下を切り捨てて整数だけの表示にすることができますね。 =ROUNDDOWN(SUM(A1:A3),0)
- keithin
- ベストアンサー率66% (5278/7941)
しばしば寄せられるご相談ですが,「生数字を入れたセルの中身を書き換える関数」というものは,エクセルには全くありません。 ご質問の直接の回答としてはマクロを使ってA3の生データを直接書き換えさせるような事で確かに実現できますが,もうちょっと穏やかな方法として A列 B列 生値 補正値 2.0 2.0 3.0 2.5 ← 1.5 1.5 =SUM(A2:A4) >最大値である…数値から0.5を引いて B2: =A2-IF(ROW()=MATCH(MAX($A$2:$A$4),A:A,0),MOD(SUM($A$2:$A$4),1)) 以下コピー などのように細工をしてみてください。 #最大値が「何個もあった」ときには,先頭の最大値を選ぶようにしてあります。 #オマケ 小数点以下の数字の足し引きでは非常にしばしば「エクセルの計算間違い」をヒットするので,合計の式は必ず B5: =ROUND(SUM(B2:B4),0) のようにしておきます。
補足
みなさん、ありがとうございます。 B列を使って補正値を表示するアイデアで行こうと思います。 IFを使うといいのだろうと思いますが、なにせ初心者で具体的に記述する方法が思い浮かびません。 考えた結果は次のとおりです。 IF (A4が整数+0.5) ならば B4 に INT(A4) を入れる。 と同時に、(最大値でなくてかまわないので)A1-0.5 を B1 に代入する。 これを実現する具体的な表記法を教えていただきたいのです。 よろしくお願いします!
- KURUMITO
- ベストアンサー率42% (1835/4283)
A4セルに次の式を入れてはどうでしょう。 =INT(SUM(A1:A3))
お礼
ありがとうございました。解決です。 参考にさせていただきます。 エクセルはちょっと数式使うだけでとても使えるソフトですね。 本を注文して勉強を始めます。
補足
B4に =INT(SUM((A1:A3)) という意味だとすぐわかりまして、そのようにしたところ、 完璧にうまく動きました。 ありがとうございます。 MODは剰余関係の意味だと思います。これでうまく動いたので 使わせていただきます。 仕事で使っています。ありがとうございました。