- ベストアンサー
エクセルの有効数字のまるめ方
A1に入ってる数字を下記のルールに従い有効数字3桁にまるめたいです。 4桁目がある場合、4桁目を四捨五入する。 ただし、4桁目が5の場合は・・・・ ・3桁目が偶数→4桁目以下を切り捨て ・3桁目が奇数→3桁目+1。4桁目以下を切り捨て 上記の様な計算式をエクセルで作りたいのですが、 なかなかできず困っております。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
#3です。 #3では回答を書いてなかったね。 普通の丸めならこうです。 =IF(ABS(MOD(A1,10^(CEILING(LOG10(A1),1)-3))*10^(3-CEILING(LOG10(A1),1))-0.5)<0.000001,ROUND(A1/2,3-CEILING(LOG10(A1),1))*2,ROUND(A1,3-CEILING(LOG10(A1),1)))
その他の回答 (4)
- bunjii
- ベストアンサー率43% (3589/8249)
>A1に入ってる数字を下記のルールに従い有効数字3桁にまるめたいです。 具体的な数値を提示して頂けると正解が出やすいです。 >4桁目がある場合、4桁目を四捨五入する。 小数点以下4桁目を四捨五入と言うことでしょうか? 四捨五入はROUND関数を使います。 =ROUND([数値],[桁数]) [数値]は計算式でも良く、[桁数]は小数点以下のときは正の整数で、小数点の上の桁を指定するときは負の整数で指定します。 =ROUND(A1,3) で小数点以下4桁目以降の有無に係わらず、4桁目が5未満を切り捨て、5以上を切り上げて小数点以下3桁に丸めます。 >ただし、4桁目が5の場合は・・・・ >・3桁目が偶数→4桁目以下を切り捨て >・3桁目が奇数→3桁目+1。4桁目以下を切り捨て 4桁目以下を切り捨ては分かりますが、4桁目が5の場合は無条件で繰り上がります。 但しの意味が理解できません。 言葉通りに受け止めると「3桁目が0、2、4、6、8で4桁目が5のとき4桁目を切り捨てで、3桁目が1、3、5、7、9で4桁目が5のとき4桁目を切り上げる」と言うことでしょうか? 4桁目が5以外のときは通常の四捨五入をするのでしょうか? 変則的な丸め方をする理由はどのような目的なのでしょう? できないことは無いですが理由を聞いてから回答したいと思います。
- f272
- ベストアンサー率46% (8530/18260)
たとえば 12451のときは12400にしたいのですか? 珍しいやり方を希望するのですね。
補足
はい。この計算ルールに対応する必要があり困っております。 例を記載します。 123.4→123.0(4桁目を四捨五入 123.6→124.0(4桁目を四捨五入 123.5→124.0(3桁目が偶数なので4桁目以下を切り捨て 122.5→122.0(3桁目が奇数→3桁目+1。4桁目以下を切り捨て
- msMike
- ベストアンサー率20% (364/1805)
素朴な確認ですが、このようなことは最初に明記しておくべきです。 「A1に入ってる数字」は常に正整数ですね。つまり小数付きの負数を含む実数は考えないと。 4桁目、3桁目の数値は左端から数えた場合の桁番号ですね。(普通は、一の位が1桁目、十の位が2桁目、百の位が3桁目だけど)
補足
はい。小数点付きの実数です。 有効数字を左から数えた時の数え方です。 申し訳ございません。
- dogs_cats
- ベストアンサー率38% (278/717)
=IF(A1>999,IF(RIGHT(A1,1)=5,IF(MOD(LEFT(RIGHT(A1,3),1),2)=0,ROUNDDOWN(A1,-1),ROUNDDOWN(A1,-1)+10),ROUND(A1,-1)),"") 桁の言い方が逆だと思いますが、1の位と10の位の事を指してるんですよね? A1の値が整数である事が前提で(小数点以下が無い事)4桁以上でも対応しています。 添付画像が正解でしょうか?
補足
複雑な計算式を短時間で作られて素晴らしいです。 私の目指すものと少し違っております。 記載漏れしましたが、数字は少数点を含みます。 負数(マイナス)はありません。 下記に桁の説明を記載します。 0.123→有効数字は三桁 0.0123→有効数字は三桁 1234→有効数字は四桁 123.456→有効数字は六桁 ↓ 一桁目:1 二桁目:2 三桁目:3 四桁目:4 五桁目:5 六桁目:6
お礼
こ・これは! すごい!完璧です! ありがとうございました!