- ベストアンサー
VBA 有効数字3桁表示コードの質問。
Office 2010 Excel のマクロコードで特定セルの計算結果だけを有効数字3桁で表示する方法を教えて下さい。よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
有効少数ではなく有効数字が3桁でしたら、マクロを利用した方が早いでしょう。 方法はたくさんあります。 一行で済む方法を回答しますね。 関数は ・IF・ROUND・INT・LOG10 の4つを使います。 それぞれの意味はNETで調べればすぐ分かります。 では まず特定セルをA1にしましょう 上記4つの関数を使用し 表示したいせるに以下の計算式を貼り付けて下さい。(A2あたりがいいでしょう) =IF(A1>0,ROUND(A1,-INT(LOG10(A1))+2),(ROUND(A1* -1,-INT(LOG10(A1* -1))+2))*-1) ためしにA1に数字を入れてみてください。・・・できたでしょ 編集ではありませんので計算結果のセルと有効3桁で表示する場所は別になります。 ですから、どこか計算結果はダミーのセルたとえばZZ1のセルに計算結果を出力して、答えを表示したいセルに =IF(ZZ1>0,ROUND(ZZ1,-INT(LOG10(ZZ1))+2),(ROUND(ZZ1* -1,-INT(LOG10(ZZ1* -1))+2))*-1) とするのか順当でしょう。 後は、VBAを使い Workbookのイベントを拾い Format Int Fix Round Mid Len For 文を駆使力技ですね。 こちらは、もっと条件が多く複雑で多くの機能が必要になった時の方がいいでしょう。 以上 頑張ってください。
お礼
jbeam 様。回答を頂きました yonesawa です。教えて頂きました上段の式を使わせて頂きました。私が望む結果が表示されました。大変うれしいです。ありがとうございました。 ご返事が遅れ申し訳ありませんでした。私はMSN相談箱に質問を投稿したのは初めての経験で要領が分からず、回答を見させて頂いたのが、つい先ほどでした。早速、式を確認させて頂き、見事な結果が出て驚いています。 本当にありがとうございました。