LET中定义的rng变量在MAP+SUM+INDEX组合中返回#VALUE!的原因排查
在Excel LET函数中使用MAP计算累计和时引用LET定义区域报错的原因
这不是Bug,是Excel处理LET变量与INDEX组合时的隐式转换限制,具体原因如下:
- 当直接在公式中使用工作表单元格区域(如
A1:B4)时,INDEX(区域, 行号, 列号)返回的是单元格引用,两个INDEX结果用冒号连接可以正确构建连续区域,因此SUM能正常计算累计和。 - 但当区域被赋值给LET定义的
rng变量后,在MAP的LAMBDA上下文里,INDEX(rng, 行号, 列号)返回的是区域内的单元格值而非单元格引用。此时用冒号连接两个数值,Excel无法将其识别为可求和的区域,因此返回#VALUE!错误。
本质上,LET变量存储的区域在LAMBDA执行环境中会被视为值数组,而非原生的工作表区域对象,这导致INDEX无法返回引用,只能返回单个值,进而破坏了冒号构建区域的逻辑。
内容的提问来源于stack exchange,提问作者David Leal
相关产品推荐
相关产品推荐

