从单元格中的逗号分隔列表中删除重复的字符串

Removing duplicate strings from a comma separated list, in a cell

我正在使用 Google 表格,这超出了我简单的脚本编写范围。

我有许多包含逗号分隔值的单元格;

AA, BB, CC, BBB, CCC, CCCCC, AA, BBB, BB

BB, ZZ, ZZ, AA, BB, CC, BBB, CCC, CCCCC, AA, BBB, BB

我正在尝试 return:

AA, BB, CC, BBB, CCC, CCCCC etc.

BB, ZZ, AA, CC, BBB, CCC, CCCCC etc.

...删除重复项。每个单元格。

我想不出解决办法。我已经尝试了所有删除重复项的在线工具。但是他们都删除了我文档中的重复项。

部分问题是,我无法将单元格按 'alphabetical' 顺序排列(这样可以使事情变得简单),它们必须保持它们出现的原始顺序。

我也有 Open Refine,我认为它是一个聪明的工具。

以下是在 OpenRefine 中的操作方法。

我使用的公式是:

value.split(',').uniques().join(',')

意思是:用逗号分隔单元格中的值,删除重复项,再次使用逗号连接它们。

编辑:

OpenRefine 中的另一个解决方案使用 Python 而不是 GREL。这个最好保持原来的顺序。

Python/Jython 脚本:

from collections import OrderedDict
dedup = list(OrderedDict.fromkeys(value.replace(' ','').split(',')))
return ",".join(dedup)