如何为UNIQUE+XLOOKUP组合公式添加过滤空白值的逻辑
公式修改方案
你可以在外层嵌套FILTER函数实现空值过滤,修改后的完整公式如下:
=IFERROR(UNIQUE(FILTER(XLOOKUP(OFFSET(I1,0,0,COUNTA(I:I),1),Ratings_data[rating],Ratings_data[Aggregated Rating]),XLOOKUP(OFFSET(I1,0,0,COUNTA(I:I),1),Ratings_data[rating],Ratings_data[Aggregated Rating])<>"")),""
逻辑说明
- 先用XLOOKUP完成原本的匹配逻辑,得到包含空白值的结果数组
- 用
FILTER对上述结果数组做过滤,保留不等于空的取值,排除匹配到的空白结果 - 过滤后的非空数组传入
UNIQUE完成去重,最后用IFERROR捕获异常返回空值
优化版本(支持LET函数的Excel版本可用)
如果你的Excel版本支持LET函数,可以用下面的简化写法,避免重复计算XLOOKUP逻辑,运行效率更高:
=IFERROR(LET(lookup_res,XLOOKUP(OFFSET(I1,0,0,COUNTA(I:I),1),Ratings_data[rating],Ratings_data[Aggregated Rating]),UNIQUE(FILTER(lookup_res,lookup_res<>""))),"")
内容的提问来源于stack exchange,提问作者Sjoerd
相关产品推荐
相关产品推荐

