Excel数组公式异常

时间:2018-11-29 16:56:32

标签: excel array-formulas

我在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")}

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

  • 标题!$ A $ 2 ='43432.40434'#一个Excel序列日期/时间数字作为文本。
  • ReadingID =#以文本形式递增的数字,例如'1000','1001'等
  • EventID =#将值1或2或3或4作为文本。
  • 标题!$ M $ 2 = 60#作为文本。
  • 标题!$ N $ 2 = 10#作为文本。

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格式导入的,因此我想保留原始导入。

0 个答案:

没有答案