【发布时间】:2023-01-26 19:41:50
【问题描述】:
我将以下 LAMBDA 函数创建为命名范围 (LIST_VALUES);
=LAMBDA(range,[ignore_header],LET(filtered,FILTER(range,range<>""),IF(OR(ISOMITTED(ignore_header),NOT(ignore_header)),filtered,INDEX(filtered,SEQUENCE(ROWS(filtered)-1,,2)))))
该函数本身完全按预期工作,但是,当我用 ROWS() 包装函数时,当 ignore_header 标志设置为 TRUE 时,我会得到不一致的行为;
上面的示例突出了问题,单元格 F8 应等于“3”,与 D8 相同。
D8
=ROWS(LAMBDA(range,[ignore_header],LET(filtered,FILTER(range,range<>""),IF(OR(ISOMITTED(ignore_header),NOT(ignore_header)),filtered,INDEX(filtered,SEQUENCE(ROWS(filtered)-1,,2)))))($A:$A,TRUE))
F8
=ROWS(LIST_VALUES($A:$A,TRUE))
有谁知道这里发生了什么或我如何解决它?我目前正在通过将 ignore_header 设置为 false 并从结果中减去 1 来解决这个问题,这很好,但我真的很想了解这里发生了什么。
【问题讨论】:
标签: excel lambda excel-formula