excel - 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")}
公式单元格值的典型数据:
- Header!$A$2 = '43432.40434' # 一个 Excel 序列日期/时间数字作为文本。
- ReadingID = #incremental numbers as text eg '1000', '1001' etc.
- 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
Diff列只是为了显示从行到行的增量,并且在EventID值的转换的任一侧保持一致(例如从“2”到“3”)。在EventID值发生变化的所有点(即“1”到“2”;“3”到“4”)都会出现相同的异常。
数组公式跨越数千个单元格,并在所有其他行中返回预期结果,EventID更改时除外。
我最初尝试了一个OR
函数来执行增量求和,但没有奏效,因此使用了嵌套IF
语句。
谁能建议数组公式是否有问题,或者如何避免这种流氓结果?
注意: 数据是文本格式,因为它是从其他地方以 CSV 格式导入的,我想保留原始导入。
解决方案
推荐阅读
- c# - 贝尔曼-福特负循环前身不存在
- c# - 如何使用 LINQ 在字典中查找元素
- php - SQL 查询在 PHP 中不起作用,没有数据插入数据库
- python - 从 Ruby 移植到 Python:如何处理“yield”
- c# - 将游戏上传到 Gamejolt(不下载)?
- python - 在 Python 中作为 func 参数传递时,DuckTyping 和识别 str 和 list 类型
- jquery - Bootstrap 多选不是函数
- date - 如何从 Tableau 中的多个数据源中筛选日期?
- python - 使用 betfairlightweight 时的索引错误
- virtual-machine - 即使软件在虚拟机上运行,有没有办法唯一识别 PC?