所以我有这个公式:
在较高层面上,公式如下:
If [Dynamic Array #1] = False, 0,
Index(
If [Dynamic Array #2] = 1, Named Range A, Named Range B <-- Problem exists here
Row,
Column
)
有一个包含 1 和 0 的动态数组,公式应该使用它来选择要索引的命名范围。
但公式是始终索引命名范围A,而从不索引命名范围B,即使该值意味着它应该是这样。
为什么?
该公式的构造方式被 Excel 解释为“数组的数组”(将值数组传递给两个嵌套 IF 函数的 逻辑_test 参数)。
作为解决方法,请尝试使用 MAP 函数一起迭代数组并单独处理每个值:
=MAP(IA10#, IF10#, HT10#, HX10#,
LAMBDA(u,x,r,c,
IF(u=FALSE, 0, INDEX(IF(x=1, RateCard_Small_Parcel_Ground_LBS_Reynosa, Old_RateCard_Small_Parcel_Ground_LBS_Reynosa), r+1, c+1))
)
)