如何在Google Sheets中删除逗号分隔列表内所有重复值
Google Sheets 实现逗号分隔列表全量去重(重复值全部移除不保留副本)
你需要筛除所有出现次数≥2的元素,而非仅删除重复副本保留1个,直接在B1单元格输入以下公式,下拉填充即可逐行处理A列数据:
=JOIN(",",FILTER(TRANSPOSE(SPLIT(A1,",")),COUNTIF(TRANSPOSE(SPLIT(A1,",")),TRANSPOSE(SPLIT(A1,",")))=1))
公式逻辑说明
SPLIT(A1,",")先将单元格内逗号分隔的文本拆分为独立元素,通过TRANSPOSE转为竖向列,适配后续统计函数的计算要求COUNTIF逐个统计拆分后每个元素在当前列表中的总出现次数FILTER仅保留出现次数严格等于1的元素,所有出现2次、3次及以上的重复项会被全部过滤JOIN将过滤后剩余的元素重新用逗号拼接为文本,输出最终结果
效果验证
对应你给出的测试样例,计算结果完全匹配预期:
第一行输入:
28,30,35,37,37,39,45,46,48,50,52
输出结果:28,30,35,39,45,46,48,50,52(重复出现2次的37被全部移除,仅出现1次的45保留)第二行输入:
1,3,8,10,10,12,19,21,45,45,45,47
输出结果:1,3,8,12,19,21,47(重复出现2次的10、重复出现3次的45被全部移除)
如果需要一次性批量处理A列所有行、无需手动下拉,可以使用数组版公式,直接放在B1单元格即可自动计算整列结果:
=BYROW(A:A,LAMBDA(x,IF(x="","",JOIN(",",FILTER(TRANSPOSE(SPLIT(x,",")),COUNTIF(TRANSPOSE(SPLIT(x,",")),TRANSPOSE(SPLIT(x,",")))=1)))))
注:该公式对数值、文本类型的列表元素均生效,无需提前转换单元格格式。
内容的提问来源于stack exchange,提问作者J.J
相关产品推荐
相关产品推荐

