感谢您查看我的问题。
今天我工作时在使用 Excel 时,遇到了一些涉及 Excel 浮点运算和布尔测试的异常行为。这是我制作的Excel文件测试用例的链接。
为了排除故障并获得更多见解,我查看了以下页面:来源1,来源2是Chip Pearson关于Excel浮点精度的帖子,第三个来源是维基百科关于Excel精度的文章(由于声誉问题,不能发布超过2个链接。抱歉,我是新来的)。
问题简而言之就是单元格 A2:A4、A10:A12、I2:I4 和 I10:I12 都具有完全相同的值,且顺序完全相同,即 A2=I2=A10=I10,...,A4 = I4 = A12 = I12。但是,布尔测试会检查不同范围内对相同值进行算术运算是否不会产生相同的结果。
我认为这是由于浮点精度造成的,但范围内的数字完全相同。因此,任何浮点错误都应该(我认为)在范围内以相同的方式表现出来。
最后,所有单元格的格式都相同。因此这不会影响结果。
如果你们知道是什么导致了这种行为,我真的很想听听。这个问题让我目瞪口呆!
我概括了创建以下文件的具体步骤(以便在我的 Excel 文件不清晰的情况下帮助重复)。
我的问题如下:
- 我计算了 6600/14、4400/14、2200/14,然后复制粘贴了结果作为价值观进入单元格 A2:A4。
- 我在单元格 A7:C7 中输入了布尔测试公式。2a
. A7 中有“A2 = A3 + A4”
2b. B7 中有“A3 = A2 - A4”
2c. C7 中有“A4 = A2 - A3” - 我在单元格 A6:C6 中输入了公式的文本版本(为了便于阅读)
- 我在单元格 A8:C8 中输入了以下公式
4a. A8 中有“A3 + A4”
4b. B8 中有“A2 - A4”
4c. C8 中有“A2 - A3” - 我复制粘贴了作为价值观并将结果从 A8:C8 转置至 A10:A12。
- 然后我使用 A10:A12 中的值重复步骤 2-4。
- 输入每个单元格 A2:A4、A10:A12 并复制值,然后将其粘贴到记事本中。
- 我将这些值粘贴到单元格 I2:I4、I10:I12
- 对范围 I2:I4 和 I10:I12 执行步骤 2 - 4 中的布尔测试。
答案1
你不会喜欢这个的!不知何故,在复制/粘贴过程中,你抓取了一个换行符并将其粘贴到单元格中A10
,这会导致所有数学运算都失败。