Excel 2013为什么会在一个单元中收集结果?

I Create a new Excel 2013 file I select the three first cells in column A I select format cell I choose Number I check Use thousand separator I choose 0 decimal I enter in A1 the number 961748947 I enter in A2 the number 961748941 I enter in A3 = A1 * A2 Excel displays in A3 the value of 924 961 031 285 115 000 instead of 924 961 031 285 115 127 

为什么Excel 2013会提高价值? 如何得到确切的结果?

正如@tigeravatar所说,Excel只能精确到15位数字。 但从这篇文章#10 ,你可以使用自定义函数:

 Function Times(ParamArray v()) Dim j As Long Times = CDec(1) For j = 0 To UBound(v) Times = Times * v(j) Next j If WorksheetFunction.Log10(Times) > 15 Then Times = FormatNumber(Times, , , vbTrue) End If End Function 

这样你可以得到正确的结果。