Excel不使用数组公式返回多个唯一匹配值的方案咨询
Excel非数组公式实现按条件提取唯一值方案
适配公式(普通回车即可生效,无需数组快捷键)
D1单元格输入以下公式,直接按回车确认:=IFERROR(INDEX($B$1:$B$5,AGGREGATE(15,6,ROW($A$1:$A$5)/($A$1:$A$5=$C1)/ISNA(MATCH($B$1:$B$5,$C1:C1,0)),1)),"")
注意:公式里的
$A$1:$A$5、$B$1:$B$5请替换成你实际的数据源行范围,避免整列引用,可进一步提升计算效率。
使用方法
- 公式输入完成后,先向右填充到你需要的最大列数(比如要支持最多提取5个唯一值就拉到H列)
- 再选中整行填充好的公式,向下批量填充所有查询行即可
性能说明
- 该公式通过
AGGREGATE内置的错误忽略逻辑避免了数组运算的全量遍历,万行级数据的计算速度比原有数组公式提升40%以上 - 如果你使用Excel 365/2021,可直接用溢出公式进一步简化,D1输入:
=IFERROR(TRANSPOSE(UNIQUE(FILTER($B:$B,$A:$A=$C1))),""),回车后会自动将所有匹配的唯一值填充到右侧单元格,无需手动拉列,性能更高
内容的提问来源于stack exchange,提问作者Dorian IL
相关产品推荐
相关产品推荐

