Excel无需VBA实现UNIQUE函数替代(适配Excel 2019)相关问题
Excel 2019无VBA替代UNIQUE函数的适配方案
你可以直接用MATCH匹配首次出现位置的逻辑替换原公式中的UNIQUE函数,不需要将MATCH放入IF判断内部。Excel 2019不支持动态数组,公式输入完成后需要按Ctrl+Shift+Enter组合键触发数组计算才能正常生效。
最终适配公式
若你的Excel使用逗号作为公式分隔符:
=TEXTJOIN(", ",1,IF(MATCH(IF($B$1:$B$100=A2,$C$1:$C$100,""),IF($B$1:$B$100=A2,$C$1:$C$100,""),0)=ROW($1:$100),IF($B$1:$B$100=A2,$C$1:$C$100,""),""))
若你的Excel使用分号作为公式分隔符:
=TEXTJOIN(", ";1;IF(MATCH(IF($B$1:$B$100=A2;$C$1:$C$100;"");IF($B$1:$B$100=A2;$C$1:$C$100;"");0)=ROW($1:$100);IF($B$1:$B$100=A2;$C$1:$C$100;"");""))
逻辑说明
- 内层
IF($B$1:$B$100=A2,$C$1:$C$100,"")和你原有逻辑一致,用于筛选B列等于A2对应的所有C列值 MATCH函数会匹配每个筛选结果在整个筛选列表中第一次出现的行号,当匹配到的行号等于当前遍历的行号时,说明这是该值的第一次出现,也就是我们需要的唯一值- 外层
IF会过滤掉非首次出现的重复值,最终由TEXTJOIN把所有符合要求的唯一值拼接为字符串
内容的提问来源于stack exchange,提问作者excelhelp
相关产品推荐
相关产品推荐

