首页 > 解决方案 > Excel数组公式异常

问题描述

我在 Excel 中有一个数组公式,它在数组的所有单元格中都可以正常工作,除非条件测试发生变化,我不知道为什么。数组公式为:

{=TEXT(VALUE(Header!$A$2)+VALUE(ReadingID)
*(IF(EventID="2", 1,IF(EventID="4", 1,0))*(VALUE(Header!$N$2)/86400)
+IF(EventID="2", 0, IF(EventID="4", 0, 1))*(VALUE(Header!$M$2)/86400))
, "#.000000")}

公式单元格值的典型数据:

ReadingID和EventID列的大小与数组公式列的大小相同当EventID从“2”变为“3”时的典型结果如下:

ReadingID EventID  Result        Diff
  '1540     '2     43432.582581  0.000116
  '1541     '2     43432.582696  0.000115
  '1542     '3     43433.475173  0.892477
  '1543     '3     43433.475868  0.000695
  '1544     '3     43433.476562  0.000694

Diff列只是为了显示从行到行的增量,并且在EventID值的转换的任一侧保持一致(例如从“2”到“3”)。在EventID值发生变化的所有点(即“1”到“2”;“3”到“4”)都会出现相同的异常。

数组公式跨越数千个单元格,并在所有其他行中返回预期结果,EventID更改时除外。

我最初尝试了一个OR函数来执行增量求和,但没有奏效,因此使用了嵌套IF语句。

谁能建议数组公式是否有问题,或者如何避免这种流氓结果?

注意: 数据是文本格式,因为它是从其他地方以 CSV 格式导入的,我想保留原始导入。

标签: excelarray-formulas

解决方案


推荐阅读