Excelには15桁の数値しか格納されません。数字のフォーマットに関係なく、それを超える数字は自動的に丸められます。
セルをテキスト形式に最初に設定すると、数値は必要な桁数の文字列として保存されますが、Excelでは計算が実行できません。
ただし、VBAは、29桁の有効数字を格納できるDecimal型変数を使用して計算を実行できます。
あなたが最初に(値を入力する前にテキストする細胞数の書式を設定する)Excelでテキストとして値を格納した場合、あなたは、文字列値を読み取るDecimal値に変換、実行するVBAでユーザー定義関数を作成することができますあなたの計算し、完全な精度を計算して文字列を返します。例えば
:
Function PrecisionSum(ra As Range) As String
'Declare variables holding high precision Decimal values as Variants
Dim decSum As Variant
'This loop will sum values from all cells in input range
For Each raCell In ra
'Read values from input cells, converting the strings to Decimals using CDec function
decSum = decSum + CDec(raCell.Value)
Next raCell
'Return calculated result as a String
PrecisionSum = Format(decSum, "0.00000000000000000000")
End Function
あなたが望む操作を行うための機能を記述する必要があります。
VBAで使用する関数の精度によっては依然として制限があることに注意してください。たとえば、数値の平方根を返すSQR関数は、入力の精度に関係なく倍精度の数値のみを返します。
Excelには最大15桁の有効桁のみが格納されます。 –
セルをテキスト形式に変更し、手動で合計桁数を入力できます。 –
テキスト形式が計算に有効でないようです。しかし、VBAと組み合わせて計算を行うことができます。 – LG8