Excel使用溢出范围作为条件的FILTER公式报错求助
解决方案
使用BYROW函数遍历E2的溢出范围,为每个SKU单独执行匹配逻辑,公式如下:
=BYROW(E2#, LAMBDA(sku, LET(ProductFound, UNIQUE(FILTER($B$2:$B$6, $A$2:$A$6=sku, "Nothing found")), IFS(ROWS(ProductFound)>1, "There are two products with the same SKU #", ProductFound="Nothing found", "No Such Product with SKU #", TRUE, ProductFound) ) ))
错误原因说明
直接将E2#作为条件时,$A$2:$A$6=E2#会生成一个二维布尔数组(行数对应A列数据量,列数对应E2溢出的SKU数量),而FILTER要求条件参数为一维数组,维度不匹配导致#N/A错误。
BYROW会逐个提取E2溢出范围中的SKU,让每个SKU对应的条件生成一维布尔数组,既保留原逻辑的判断规则,又能自动溢出匹配E2的范围大小,无需手动下拉公式。
内容的提问来源于stack exchange,提问作者hank
相关产品推荐
相关产品推荐

