У меня есть данные Google Form из нескольких проведенных опросов, в которых категории ответов менялись во времени. Я хочу выяснить все уникальные варианты, которые были использованы, а затем подсчитать их все.
Подсчет будет простым, но я не могу выделить уникальный список ответов ни с одной из формул, которые я использовал.
Проще говоря, я не могу разделить значения и получить уникальные значения для моих данных, что выглядит примерно так:
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 лист, где попробовал множество методов: Query, Split с Array Formula, Split с TextJoin и их комбинации. Но я не могу собрать его все в одну колонку
Вот лист с моими попытками: https://docs.googlerwBDjDhDhDh редактировать ? УСП = разделение
Любая помощь будет очень признательна!
2 ответа
=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)''"))
Используйте 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]*
Похожие вопросы
Новые вопросы
regex
Регулярные выражения предоставляют декларативный язык для сопоставления шаблонов в строках. Они обычно используются для проверки строк, разбора и преобразования. Укажите язык (PHP, Python и т. д.) или инструмент (grep, VS Code, Google Analytics и т. д.), который вы используете. Не размещайте вопросы, требующие объяснения того, что означает символ или чему будет соответствовать конкретное регулярное выражение.