将含重复值的单列转换为保留重复项的唯一行数组
解决单列重复值转唯一行带重复实例的问题
方法1:FILTER+SEQUENCE组合实现
假设原始数据在A列(A1:A8),按以下步骤操作:
- 提取唯一值作为结果的第一列(比如D列):在D1单元格输入
=UNIQUE(A:A) - 对每个唯一值提取所有实例并横向排列:在E1单元格输入数组公式(Excel 365/2021直接回车,旧版本按Ctrl+Shift+Enter)
=TRANSPOSE(FILTER($A:$A,$A:$A=D1,"")),然后下拉公式到所有唯一值行即可。
方法2:TEXTJOIN+分列快速处理
如果不想用数组公式,可通过拼接再拆分的方式:
- 同样先在D列提取唯一值:
=UNIQUE(A:A) - 在E1单元格输入
=TEXTJOIN("|",TRUE,FILTER($A:$A,$A:$A=D1,"")),把对应值的所有实例用分隔符拼接 - 选中E列结果,用「数据」选项卡的「分列」功能,以
|为分隔符拆分到后续列,即可得到横向的所有实例。
原公式无效的原因
TRANSPOSE(UNIQUE(A1:A3,TRUE,TRUE)) 中的UNIQUE函数核心作用就是提取唯一值,无论参数如何设置都会剔除重复项,因此无法保留每个值的所有出现实例,必须用FILTER筛选对应值的全部记录再转置。
内容的提问来源于stack exchange,提问作者sstecht
相关产品推荐
相关产品推荐

