【发布时间】:2016-01-13 17:26:08
【问题描述】:
我想知道是否有任何方法可以在 MS Excel 中表示无穷大(或足够高的数字)。
我特别在 Java 中寻找 Double.POSITIVE_INFINITY 或 Double.MAX_VALUE 之类的东西。
【问题讨论】:
标签: excel excel-formula
我想知道是否有任何方法可以在 MS Excel 中表示无穷大(或足够高的数字)。
我特别在 Java 中寻找 Double.POSITIVE_INFINITY 或 Double.MAX_VALUE 之类的东西。
【问题讨论】:
标签: excel excel-formula
对于 LibreOffice 6,我使用 1.79769313486231E+308,这似乎是它允许我输入的最大数字,但我想念没有 +- 无限的精确表示,也是因为我怀疑上面的数字是特定于实现的......
还有一点让我认为电子表格非常适合对表格数据进行可视化、编辑和简单计算,但对于进行更复杂的操作/建模,必须使用真正的编程语言...
【讨论】:
我认为值得补充的是,可以从 vba 函数 (How do you get VB6 to initialize doubles with +infinity, -infinity and NaN?) 返回 Infinity 以及其他特殊值:
Function Infinity(Optional Recalc) As Double
On Error Resume Next
Infinity = 1/0
End Function
当作为单元格公式输入时,会显示一个大数字 (2^1024)。您可以设置条件格式以将“+Infinity”显示为带有公式条件的数字格式:
=AND(ISNUMBER(A1),A1>2^1023*(2-2^-52))
可以插入包含动态引用的虚拟参数,以便在打开工作簿时重新计算值,例如:
=Infinity(IF(,) IF(,))
【讨论】:
我喜欢使用 1e99,因为它以最少的击键次数提供最大的数字,但我相信绝对最大值实际上是 9.99999E+307。在数字频谱的那个阶段,就 Excel 而言,我认为没有太大区别。
【讨论】:
=-1*LOG10(0) 公式(请参阅Wolfram|Alpha)。
=-1*LOG10(0) 公式可以用来比较数字吗?如果不是,无论 Wolfram Alpha 或其他数学家怎么说,我都不能在 Excel 中真正认为它是无穷大的。
A1 = -1*LOG10(0)(所以 #NUM)A1 > 1 在 Excel 中产生 #NUM,但是Inf > 1 在 R 中产生 TRUE。