Excel僅存儲15位有效數字。除此之外的任何數字都會自動變爲四捨五入,無論數字格式如何
首先將單元格設置爲文本格式將數字存儲爲一個字符串,其數目儘可能多,但Excel無法對其執行任何計算。
但是,VBA可以使用十進制類型變量進行計算,該變量可以存儲多達29個有效數字。
如果您首先將值存儲爲Excel中的文本(在輸入值之前將單元格數字格式設置爲文本),則可以在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函數僅返回一個Double精度的數字,無論輸入的精度如何。
Excel只能存儲多達15位有效數字。 –
您可以將單元格更改爲文本格式,並手動輸入總數位數。 –
看來文本格式對於計算無效。但它可以與VBA一起使用來進行計算。 – LG8