基于Excel状态编号筛选对应名称的公式实现问询
按状态分类显示名称的Excel公式方案
针对你提到的小数据量(40-60条)场景,有几种简单的公式方案可以实现按Status分类提取对应Name:
1. 传统数组公式(兼容所有Excel版本)
假设你的Name列在A2:A7、Status列在B2:B7(对应示例数据范围),要提取Status为指定值(比如2)的名称,可使用以下数组公式:
=IFERROR(INDEX($A$2:$A$7,SMALL(IF($B$2:$B$7=2,ROW($B$2:$B$7)-ROW($B$2)+1),ROW(A1))),"")
- 输入公式后需按 Ctrl+Shift+Enter 完成数组输入(旧版Excel要求,新版可直接回车)
- 下拉公式即可依次显示所有Status=2的名称,无匹配时显示空值
- 把公式中的
2替换为其他状态值(1/3/4/5),就能提取对应分类的名称
2. 动态数组公式(Excel 365/2021及以上)
如果使用支持动态数组的Excel版本,用FILTER函数更简洁:
=FILTER($A$2:$A$7,$B$2:$B$7=2,"无匹配数据")
- 输入公式后回车,会自动溢出显示所有符合条件的Name,无需下拉
- 第三个参数是无匹配时的提示文本,可按需修改
3. 同状态名称合并显示(放同一单元格)
如果希望把同一状态的名称合并到单个单元格,用TEXTJOIN+FILTER组合:
=TEXTJOIN(", ",TRUE,FILTER($A$2:$A$7,$B$2:$B$7=2,""))
- 公式会把Status=2的名称用逗号+空格分隔,比如示例中会返回
B34, C02, G50
内容的提问来源于stack exchange,提问作者Justin Joseph
相关产品推荐
相关产品推荐

