我从多项调查中获得了一些Google表单数据,答案类别随时间变化。我想找出所有使用过的独特选择,然后是所有选择的计数。
计数很容易,但是我似乎无法使用我使用的任何公式来提取唯一的答案列表。
简而言之,我无法分离值并获得数据的唯一值,看起来有点像这样:
sensitivity = TP / (TP + FN)
specificity = TN / (TN + FP)
理想情况下,它看起来像这样:
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
我制作了一个Google工作表,其中尝试了多种方法:查询,使用数组公式拆分,使用TextJoin拆分以及所有这些的组合。但我无法将他全部集中到一栏中
这是我尝试的工作表: https://docs.google.com/spreadsheets/d/1179QKxGEaDhlejm2D_opdt2TwtdUrtWrbBMCkriBpvE/edit?usp=sharing
任何帮助将不胜感激!
答案 0 :(得分:1)
=ARRAYFORMULA(UNIQUE(TRIM(TRANSPOSE(SPLIT(QUERY(REGEXREPLACE(
FILTER(Data!A:A, Data!A:A<>""), "(,)( )([A-Z])", "♦$2$3")&"♦",,999^99), "♦")))))
=ARRAYFORMULA(QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(REGEXREPLACE(
FILTER(Data!A:A, Data!A:A<>""), "(,)( )([A-Z])", "♦$2$3")&"♦",,999^99), "♦"))),
"select Col1,count(Col1) group by Col1 order by count(Col1) desc label count(Col1)''"))
答案 1 :(得分:1)
使用2个正则表达式。
第一个-
---------------------
内容:全局
查找:(?:\b(A\d*)\b,?\h*(?=[\S\s]*\b\1\b))+|(A\d*),?\h*
替换:$2
然后运行这个-
---------------------
内容:全局
查找:(?:(A\d*)(?=A))
替换:$1\r\n
完成后,按字母顺序对文本进行排序。
它将看起来像这样(取决于排序)-
A1
A2
A3
A5
A7
A8
A10
A11
A15
A19
注意-如果您的正则表达式引擎不支持先行断言,则此方法将无效。
如果您的正则表达式引擎不支持水平空白构造\h*
,请使用此
代替[^\S\r\n]*