Excel中基于产品建立分类与子分类关联的公式咨询
Excel分类与子分类关联的公式方案
当然有啦!Excel里有好几个实用的公式能帮你建立分类和子分类的对应关联,我给你整理几个最常用的场景方案,你可以根据自己的需求来选:
场景1:已知子分类,匹配对应的分类
这是最常见的需求,比如你有一列子分类,想快速找出它所属的父分类。推荐用INDEX+MATCH组合(比VLOOKUP更灵活可靠),或者新版Excel的XLOOKUP。
用INDEX+MATCH(兼容所有Excel版本)
假设你的数据结构是:
- A列:分类(父级)
- B列:子分类(子级)
- D列:需要匹配的子分类
- E列:要返回的对应分类
在E2单元格输入公式:
=INDEX($A:$A,MATCH(D2,$B:$B,0))
MATCH(D2,$B:$B,0):找到D2的子分类在B列中的精确位置INDEX($A:$A,...):返回A列对应位置的分类- 如果没匹配到,会返回
#N/A,可以套个IFERROR改成友好提示:=IFERROR(INDEX($A:$A,MATCH(D2,$B:$B,0)),"无对应分类")
用XLOOKUP(Excel 365/2021及以上版本)
XLOOKUP支持反向查找,写法更直观:
=XLOOKUP(D2,$B:$B,$A:$A,"无对应分类",0)
- 参数依次是:要查找的子分类、子分类数据源列、要返回的分类列、匹配失败的提示、精确匹配模式
场景2:已知分类,列出所有对应的子分类
如果想根据一个分类,把它下面的所有子分类汇总到一个单元格里,可以用TEXTJOIN+IF的组合:
假设D2是要查询的分类,E2返回所有对应的子分类:
=TEXTJOIN(", ",TRUE,IF($A:$A=D2,$B:$B,""))
IF($A:$A=D2,$B:$B,""):筛选出A列等于D2的所有子分类,不符合的返回空TEXTJOIN(", ",TRUE,...):用逗号加空格把筛选出的子分类连接起来,TRUE表示忽略空值- 注意:旧版Excel需要按
Ctrl+Shift+Enter触发数组公式,新版Excel直接回车即可
小提示
- 尽量用具体的单元格范围(比如
$A$2:$A$100)代替整列引用($A:$A),能提升公式运行速度 - 确保数据源里的分类、子分类没有多余空格,不然会导致匹配失败,可以用
TRIM函数清理:=TRIM(A2)
内容的提问来源于stack exchange,提问作者Vadiraj
相关产品推荐
相关产品推荐

