Excel スプレッドシート全体をフォーマットして、小数点以下 3 桁のみにします。

Excel スプレッドシート全体をフォーマットして、小数点以下 3 桁のみにします。

3 であれば 3.000 になります。4.5678 は 4.568 になります。スプレッドシートや再現可能な例を提供せずに、Excel でこれを行うことは可能ですか? Excel スプレッドシート全体を小数点以下の桁数が 3 桁になるようにフォーマットするか、スプレッドシートの各セルの有効数字の数を固定する方法を見つけたいと思っています。

答え1

データをフォーマットしたいが、実際にはデータを変更したくない場合は、解決策は 2 つの部分からなります。

パート 1 では、データのあるすべてのセルに次の形式を適用します。Gary の学生のアプローチを採用すれば、物理的にこれを実現できます。適用する形式は次のとおりです。

#,##0.###

これにより、千単位などの区切りにコンマが付きます。先頭#とコンマが不要であれば削除してください。次に、01 から -1 の間の値の先頭が確実に付けられます (つまり、「 .123 」ではなく「 0.123 」になります)。これが不要であれば、#代わりに別のものを使用してください0( #,###.### ではなく #,##0.### )。

魔法は、#小数点の後に を使用すると、 のBUT ONLY文字列が生成されない場合、使用される 1 つごとに小数点が 1 桁発生するという事実にあります0's。したがって、PI のような値は 3.142 になり、5.202384 のような値は 5.202 になります (0その後に 0 以外の小数点がさらにあるため、 が必要であることが認識されます)。ただし、28.2 のような値は、最後の 2 つが単なる余計なものであると見なされるため、28.200 ではなく、28.2 になります0's

覚えておいてください、これは に関していかなるルールにも従わないということではありませんsignificant figures。何を表示するかを決めるだけなのです。

しかし、これは見苦しい結果をもたらします。324 のような数字の後に小数点が表示され、「324.」のように表示されるので、誰も気に入りません。では、どうすればよいでしょうか。結局のところ、これが現時点での唯一の実際の問題です。

これが解決策のパート 2 です。同じ強調表示されたセルに条件付き書式を適用します。数式から動作するように設定し、次の数式を使用します。

=(TRUNC(A1,0)=A1)

(これは、アクティブ セル (「強調表示されたセル」) が A1 であることを前提としています。そうでない場合は、実際のセルを使用します。)

そのアドレスには文字がないことに注意してください$。A1 は、たとえば $A$1 ではありません。これは重要です。アクティブ セルを A1 にして上記の数式を使用すると、各セルが実際にそれ自体に対してテストされます。これが目的の動作です。

数式はセルの値を小数点で切り捨て、その結果をセルの実際の値と比較します。したがって、数値が整数の場合、それらは等しく、厄介な小数点が表示されないようにここで書式を適用する必要があることが分かります。実際の値が整数でない場合、テストは FALSE を返し、パート 1 の通常の書式を使用して小数点以下 3 桁まで表示します。

数式を入力したら、書式を設定する必要があります。しかし、今まさにあなたが望んでいるとおりになっているので、書式設定ボタンをクリックしてから [OK] をクリックすれば完了です。Excel のバージョンではうまくいかなかったという人が時々いますが、もしそうなら、次のカスタム数値書式を適用してください。

一般;一般;一般;一般

そして、それはうまくいくでしょう。だから、まずは簡単なものを試して、必要な場合にのみそれを実行してください。あるいは、とにかくそれを実行してください。一体何なのでしょう?

条件付き書式の作業を保存すれば完了です。

(これは複雑に思えますが、それは手順の説明をしたからです。実際には、実行する書式設定操作は 2 つだけです。1 つは通常の書式設定、もう 1 つは条件付き書式設定ですso it is quite quick and easy to do.)

答え2

ワークシート全体を選択し、希望の書式を適用します。

ここに画像の説明を入力してください

(VBA マクロを使用しても同じことを実現できます。)

関連情報