逗号分隔列表中的唯一值/多列中的唯一值

Unique Values in a Comma Separated List / Unique Values in Multiple Columns

我有一些 Google 表格数据来自进行的几项调查,其中答案类别随时间变化。我想找出所有使用过的独特选择,然后是所有选择的数量。

计数会很容易,但我似乎无法使用我使用的任何公式提取唯一的答案列表。

简单地说,我无法分离值并为我的数据获取唯一值,它看起来有点像这样:

A1, A2, A3, A7, A8
A2, A5, A3
A3, A7, A15,
A10
A11
A7, A19
etc.

理想情况下,它看起来像这样:

A1
A2
A3
A5
A7
A8
A10
A11
A15
A19

从这里开始,我可以用

做一个 countif 公式

Concatenate("*", A1, "*")

我做了一个 google sheet,其中我尝试了多种方法:查询、使用数组公式拆分、使用 TextJoin 拆分以及所有这些方法的组合。但是我无法将他的所有内容都放在一个专栏中

这是 sheet 我的尝试: https://docs.google.com/spreadsheets/d/1179QKxGEaDhlejm2D_opdt2TwtdUrtWrbBMCkriBpvE/edit?usp=sharing

如有任何帮助,我们将不胜感激!

=ARRAYFORMULA(UNIQUE(TRIM(TRANSPOSE(SPLIT(QUERY(REGEXREPLACE(
 FILTER(Data!A:A, Data!A:A<>""), "(,)( )([A-Z])", "♦")&"♦",,999^99), "♦")))))

______________________________________________________________

=ARRAYFORMULA(QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(REGEXREPLACE(
 FILTER(Data!A:A, Data!A:A<>""), "(,)( )([A-Z])", "♦")&"♦",,999^99), "♦"))), 
 "select Col1,count(Col1) group by Col1 order by count(Col1) desc label count(Col1)''"))

使用 2 个正则表达式。

这首-
---------------------
上下文:全局
查找:(?:\b(A\d*)\b,?\h*(?=[\S\s]*\b\b))+|(A\d*),?\h*
替换:</code> </p> <p>然后运行这个-<br> <strong>---------------------</strong><br> 上下文:全局<br> 查找:<code>(?:(A\d*)(?=A))
替换:\r\n

完成后,按字母顺序对文本进行排序。
然后它看起来像这样(取决于排序)-

A1
A2
A3
A5
A7
A8
A10
A11
A15
A19

注意 - 如果您的正则表达式引擎不支持先行断言,此方法将不起作用。
如果您的正则表达式引擎不支持水平空白构造 \h*,请使用此
相反 [^\S\r\n]*