プロが教えるわが家の防犯対策術!

初級者ですが、仕事で必要なので助けてください。
エクセル2003で、A1~F1の数字を掛算割算して、結果をG1に反映します。G1の計算結果が9万9千9百までは10の位まで四捨五入、10万以上なら100の位を四捨五入というふうにしたいのですが、どうも上手くいきません。(そもそもIF関数では無理なのでしょうか?)

=IF(G1>=99999,ROUND(A1*B1/C1*D1*F1,-3),G1<=100000,ROUND(A1*B1/C1*D1*F1,-4))

この式をちょっと変えたりして色々試してみているのですが、-3,-4の設定で10の位、百の位は変えられても99999/100000の間では変化してくれません。どうすればよいのでしょうか。

A 回答 (3件)

=IF(G1<=99999,ROUND(A1*B1/C1*D1*F1,-3),ROUND(A1*B1/C1*D1*F1,-4))

    • good
    • 1
この回答へのお礼

おぉ、できました。意外に単純な解決法でしたね(笑)ありがとうございます。

お礼日時:2006/04/03 22:02

質問が重複していたようですが、消されたようですね



再度回答します。
=ROUND(G1,-3-(G1>=100000))

とか
=ROUND(A1*B1/C1*D1*F1,IF(A1*B1/C1*D1*F1<10000,-3,-4))


No.2 さんの回答では
10000以上1000000未満に対応

LOG10 を使用するなら
=ROUND(A1*B1/C1*D1*F1,IF(LOG10(A1*B1/C1*D1*F1)<5,-3,-4))
    • good
    • 0
この回答へのお礼

クリックするときちょっと指がビビビッとなってしまって…「うわぁ~!」と思いつつ画面を閉じました(^^; 削除されててよかった…しかしsige1701様には再度書き込み頂いて恐縮です。
へ~ぇ、いろんな方法があるんですねぇ。LOG10の使い方も一緒に教えてくださりありがとうございます。

お礼日時:2006/04/03 22:11

=ROUND(A1*B1/C1*D1*F1,INT(3-LOG10(A1*B1/C1*D1*F1)))

    • good
    • 0
この回答へのお礼

ろ、LOGとは?また勉強しなきゃ…参考にさせて頂きます。ありがとうございます。

お礼日時:2006/04/03 22:04

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