- ベストアンサー
IF関数とROUNDの組み合わせが上手くいきません。
初級者ですが、仕事で必要なので助けてください。 エクセル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の間では変化してくれません。どうすればよいのでしょうか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
=IF(G1<=99999,ROUND(A1*B1/C1*D1*F1,-3),ROUND(A1*B1/C1*D1*F1,-4))
その他の回答 (2)
- sige1701
- ベストアンサー率28% (74/260)
質問が重複していたようですが、消されたようですね 再度回答します。 =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))
お礼
クリックするときちょっと指がビビビッとなってしまって…「うわぁ~!」と思いつつ画面を閉じました(^^; 削除されててよかった…しかしsige1701様には再度書き込み頂いて恐縮です。 へ~ぇ、いろんな方法があるんですねぇ。LOG10の使い方も一緒に教えてくださりありがとうございます。
- mshr1962
- ベストアンサー率39% (7417/18945)
=ROUND(A1*B1/C1*D1*F1,INT(3-LOG10(A1*B1/C1*D1*F1)))
お礼
ろ、LOGとは?また勉強しなきゃ…参考にさせて頂きます。ありがとうございます。
お礼
おぉ、できました。意外に単純な解決法でしたね(笑)ありがとうございます。