excel中的不平等在平等方面失败



电子表格中的以下行失败:

Cells(21, 7).Formula = "=IF(OR(ABS(F21-B21)>C21+0.0001,F21=""""),""NG"","""")"

我正在比较两个数字,当 F21-B21 = C21 时,以下代码显示 NG。添加 0.0001 是为了减轻此错误,但它不起作用。

我相信这是因为 Excel 可能将 C21 视为不是确切的数字(即 0.08(,而是 0.0834892379 或其他一些长串数字。

这可能吗?或者,还有什么问题?如果需要任何其他信息,请告诉我。

我要检查的不平等是:

ABS(F21-B21(>= C21

M.W.

要测试两个值是否等于 epsilon 值,您可以减去这些值,然后将它们与 epsilon 进行比较:

Cells(21, 7).Formula = "=IF(OR(ABS(F21-B21-C21)<0.0001,F21=""""),""NG"","""")"

如果您打算测试ABS(F21-B21)是否等于C21,请使用

Cells(21, 7).Formula = "=IF(OR(ABS(ABS(F21-B21)-C21)<0.0001,F21=""""),""NG"","""")"

要比较 ABS(F21-B21( 是否在 epsilon 中>= C21,您可以将差异与负 epsilon 进行比较:

Cells(21, 7).Formula = "=IF(OR((ABS(F21-B21)-C21)>=-0.0001,F21=""""),""NG"","""")"

或者,您可以对结果进行舍入。例如,要测试它是否在小数点后 5 位以内为>=C21:

Cells(21, 7).Formula = "=IF(OR(ROUND(ABS(F21-B21),5)>=C21,F21=""""),""NG"","""")"

最新更新