重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

たとえば有効数字を2桁で表現しなければならない場合、実際のセル内の数値が「0.123なら0.12に、4.56なら4.6に、678なら680に、12345なら12000に変換する。」といったぐわいです。何かよい方法はありませんか。今のところ、かなり面倒なことをやっています(笑)。それは桁数を求める関数によって実際の数値の桁数をよみ取ります。(たとえば5桁)、有効数字の桁数を引き(有効数字2桁表示ならさっきの5から2を引いて3)、最後にその数字の位で四捨五入する(3桁目を四捨五入の関数を使用)という方法です(恥)。

A 回答 (3件)

A1に数値があるとして



=VALUE(TEXT(A1,"0.0E+00"))

でどうですか。
    • good
    • 0

思考プロセス。


AからE列まで
1232.0899051111.231.2000 120
121.0791812461.21.2000 12
0.1-111.0000 0.1
0.002-2.69897000422.0000 0.002
0.00234-2.6307841432.342.3000 0.0023
0.03456-1.4614262663.4563.5000 0.035
B1には=LOG(A1)
C1には=A1/10^INT(B1)
D1には=ROUND(C1,1)
E1には=D1*10^INT(B1)
これを下へ複写する。
これらを1式にまとめる(関数のネスト。)
簡単な方法・関数はなさそうです。
(朝時間がなくて、テスト不十分ですみません。)
    • good
    • 0

A1に該当の数値が、B1に有効桁数(質問例の場合は、2)が入っているとして、


=ROUND(A1,-INT(LOG(ABS(A1)))-1+B1)
で求まります

http://homepage2.nifty.com/kmado/ke_m1.htm
より

参考URL:http://homepage2.nifty.com/kmado/ke_m1.htm
    • good
    • 0
この回答へのお礼

ありがとうございます。完璧ですね
今ごろになって申し訳ありませんでした。

お礼日時:2005/02/26 14:22

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