- ベストアンサー
エクセルで数値を整数に直す
エクセルでセル内の数値を整数に直す方法を教えてください。 具体的には、 学校で1学期から3学期までの成績を10段階で評価でつけるとします。(成績はすべて四捨五入した整数で出します) 各学期は中間・期末テストでの10段階評価を平均し、さらに年度末は各学期の成績を足して3で割ります。 この場合、それぞれの段階で端数を四捨五入して完全な整数に直さないと、学年末の評価にずれが生じてしまうときがあります。 なぜなら、表記の上ではセルの書式設定などで整数に直しても、エクセルの計算式の上では端数処理をしていない実際の数値を使うため、合計したときにずれがでてしまうのです。 例えば、以下のような場合です ※( )内は実際の数値です。 1学期 6(5.5) 2学期 8(7.5) 3学期 6(6.0) 整数で処理している場合の学年末評価 7(6.7・・・) 実際の数値で処理している場合の学年末評価 6(6.3・・・) このような問題を解決するために、各学期ごとに端数を完全に整数になおしたいのですが、書式設定以外の方法で、何かやり方はないでしょうか? ROUND関数を使えばいいのでしょうか? ちなみに、今は打ち直して単なる数値として別に計算しています。 どなたかご存じの方がいらっしゃいましたら、教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
端数を整数に直す方法としては、 ツール-オプション-計算方法-表示桁数で計算する 書式は、もちろん、「0」 としておきます。 しかし、この方法の欠点は、実際の数値が見えてきません。 =ROUND(A1,0) として、補助列を用意します。 最後に、合計(SUM) を使うやら、平均値(AVERAGE)を使えばよいと思います。 No.1 のearthlight さんのような場合は、ひとつずつ計算しなくても、 =SUMPRODUCT(ROUND(B1:B3,0)/3) とすればよいのでは? それを、整数で括るのは、負の数でなければ、INT() で良いので、 =INT(SUMPRODUCT(ROUND(B1:B3,0)/3)) とすればよいと思います。 しかし、これは、中身の計算が見えてきませんので、慣れないうちは、出来れば、補助列を使って計算過程が見えたほうがよいのではないかと思います。 >正実数の整数部分だけを取り出す。 >Excelに組み込まれていたと =SIGN(A1)*INT(ABS(A1)) または、 =TRUNC(A1) ということなんでしょうか? 最後に、at121さんの > 四捨五入による 切り上げで得?する人もいれば損?する人も・・ 読んでみて、ハッとさせられました。(感服しました)積み上げだったら、小数点の積み上げの計算で四捨五入のほうが、親切ですよね。 例: 5.4+5.4 =10.8 → ≒ 11 最初から、四捨五入(カッコ内は実際の数値) 5.0(5.4)+5.0(5.4) →10.0 まとまりなくて、すみません。
その他の回答 (4)
- at121
- ベストアンサー率41% (85/206)
生徒や親に説明することを 「惜しむ」ための 不適切な方法のような・・ 四捨五入による 切り上げで得?する人もいれば損?する人も・・ 親から「見れば」 3学期の数字:整数を平均し、四捨五入で整数にして・・一致すればわかりやすいが・・本当に必要な「実際の成績」を反映する数値は何でしょう。 便宜上10段階:整数とするため 四捨五入によって各学期の成績数値と 実際の小数点まで含む 成績値 が異なることについて 少数まで学校で先生が考慮して順位付け:10段階評価していることを説明すればよいと思います。 10段階評価が、相対評価なら 小数点まで考慮して順位付けして各段階の比率に応じて再配分することもできるし・・
お礼
ご指摘、もっともだと思います。 評価は非常に難しいですよね。 貴重なご意見、ありがとうございました。
- Ryou29
- ベストアンサー率11% (28/238)
ガウス記号[x]: 正実数の整数部分だけを取り出す。 これを使えば [x+0.5] がx の4捨5入の整数と一致しますから便利ですが。。 ガウス記号はExcelに組み込まれていたと記憶しております。 よろしくお願いします。もし間違っていたらすみません。
- Ryou29
- ベストアンサー率11% (28/238)
ガウス記号[x]: 正整数の整数部分だけを取り出す。 これを使えば [x+0.5] がx の4捨5入の整数と一致しますから便利ですが。。 ガウス記号はExcelに組み込まれていたと記憶しております。 よろしくお願いします。もし間違っていたらすみません。
お礼
ガウス記号は思いつきませんでした。 ほかの方のアドバイスも参考にしながら、試してみます。ありがとうございました。
- earthlight
- ベストアンサー率27% (284/1031)
> ROUND関数を使えばいいのでしょうか? そうです。 1学期~3学期の成績をそれぞれA1~C1に入っているとして、D1に =ROUND(A1,0)+ROUND(B1,0)+ROUND(C1,0) でできます。
お礼
早速のご回答、ありがとうございます。 試してみます。
お礼
丁寧な説明、ありがとうございました。 とてもよく分かりました。 エクセルに関して初心者ですので、やはり補助列を設けて一度計算する方がいいように思います。 また何かありましたらお知恵を拝借することがあるかもしれませんが、よろしくお願いします。