Excel多分类区域匹配查找嵌套IF公式简化问询
Excel分类占比提取公式简化方案
方案1:全Excel版本通用,无需高版本函数
直接去掉冗余的ISNUMBER(MATCH)判断逻辑,用IFERROR嵌套捕获查找失败的情况,自动跳转下一个分类查找,公式比原写法缩短近一半:
=IFERROR(VLOOKUP($J3,$B:$C,2,0),IFERROR(VLOOKUP($J3,$D:$E,2,0),IFERROR(VLOOKUP($J3,$F:$G,2,0),"")))
后续新增分类时,只需要在最外层新增一层IFERROR(VLOOKUP(新增物料列,新增占比列,2,0), 原有公式)即可,不需要额外写判断逻辑。
方案2:Excel 365/2021及以上版本,扩展性最优
如果支持动态数组函数,可以用「配置规则+动态查找」的方式一劳永逸解决新增分类需要改公式的问题:
直接把分类规则写在公式数组里,后续新增分类只要往数组里追加对应列规则即可,公式无需做结构调整:
=LET( 规则,{"Metals","B:B","C:C";"Polymers","D:D","E:E";"Elastomers","F:F","G:G"}, 查找结果,BYROW(规则,LAMBDA(x,IFERROR(XLOOKUP($J3,INDIRECT(INDEX(x,2)),INDIRECT(INDEX(x,3))),""))), FILTER(查找结果,查找结果<>"","") )
如果分类调整频繁,也可以单独做一个配置表维护规则,后续新增分类只要在配置表加一行即可,K列公式完全不用修改。
注意:如果你的Excel公式分隔符默认使用分号
;,把上述公式里的逗号,全部替换为分号即可正常运行。
内容的提问来源于stack exchange,提问作者Ushay
相关产品推荐
相关产品推荐

