我在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
差异列仅用于显示行与行之间的增量,并且在 EventID 值(例如,从“ 2”到“ 3” ”)。在 EventID 值更改的所有点(即“ 1”到“ 2”;“ 3”到“ 4”)都发生相同的异常。
该数组公式跨越数千个单元格,并在 EventID 更改时返回除 以外的所有其他行的预期结果。
我最初尝试使用OR
函数来执行增量和,但是那没有用,因此嵌套了IF
语句。
有人可以建议数组公式是否有问题,或者如何避免这种流氓结果?
注意: 数据以文本格式显示,因为它是从其他地方以CSV格式导入的,因此我想保留原始导入。