Zuzanaは、1000分の1秒など、非常に小さな時間増分で計算を実行する必要があります。彼女は、Excelが処理できる時間はどれほど短いのか、そして小さな増分を表示するためにどのようにフォーマットできるのか疑問に思います。

Excelは内部で時間を保存する方法があるため、理論的には1000分の1秒よりはるかに小さい時間増分を処理できます。その精度に悪影響を与える可能性のある要因がたくさんあるので、理論的には言います。

例として、時刻と日付がExcelに格納され、小数点の左側に丸一日が格納され、右側に端数が格納されるとします。 1000億分の1秒という小さな値を格納したい場合は、おそらくそれを行うことができます。このような数値をこの形式で保存すると、1日を24時間で割った値を60分で割った値を60秒で割った値を100,000,000,000で割った値になります。これにより、次のような数値になります。

0.000000000000000115740740740741

ゼロの束とそれに続く15桁の有効数字があることに注意してください。これは、Excelが最大15桁の有効数字を含む数値しか保存できないためです。この値で他のことを始めた場合、値を台無しにします。たとえば、値に3を加算して、3日を加算することを意味します。 Excelは結果としてこれをレンダリングします:

3.000000000000000000000000000000

小さな時間増分が消えたことに注意してください。これは、加算の結果、3以降のすべてが「有効数字」になり、Excelが追跡できる有効数字は最大15桁で、元の数値ではすべてゼロだったためです。

1000分の1秒は、1,000億分の1秒よりもはるかに長い期間です。これは、Excelの内部形式で次のように表されます。

0.0000000115740740740741

この値に3日を追加すると、次のようになります。

3.00000001157407

これは、1000分の1秒を問題なくレンダリングするのに十分な精度です。

もちろん、Excelで表示できない場合、1000分の1秒を内部に保存することはあまり役に立ちません。ここで、カスタムフォーマットが役立ちます。 1000分の1秒を問題なく表示するカスタム形式(_ExcelTips_の他の問題で説明されている)を作成できます。使用する形式は次のとおりです。

h:mm:s.000

この形式でより多くのゼロを使用しようとすると(時間の増分を小さく表示するため)、Excelは失敗します。カスタムフォーマットを使用して表示できる最小の増分は、1000分の1秒です。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(9198)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。