2017-10-12 16 views
0
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会提高价值? 如何得到确切的结果?为什么Excel 2013会在一个单元中收集结果?

+1

Excel只能精确到15位数。您的号码大于15位,因此Excel只能正确计算前15位数字。如果你使用的数字很大,你可能需要一个不同的程序或计算器。 – tigeravatar

回答

1

正如@tigeravatar所说,Excel只能精确到15位数。但是从这个post #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 

这样你就可以有正确的结果。

相关问题