2016-02-29 3 views
-3

У меня есть столбец значений, разделенных запятой, например так:В Google Таблицах, как мне разделять значения, разделенные запятыми?

   A 
1 A, B, C, D, E 
2 A, D, E, F, G 
3 B, E, F, H 
4 A, B, C, D, E, F, G, H 
5 D 
6 F, G 
7 A, E, F, G 
[...] 

Я хочу, чтобы все эти значения, но по отдельности, так что я в конечном итоге с список/массив со значениями как [ «А», «B», «C», «D», «E», «A», «D», «E», «F», «G», «B», «E» ...], которые я могу передать ARRAYFORMULA() вложен внутри функции.

Brownie points:
В конечном итоге мне необходимо передать это значение = MODE(). Если есть более простой/реально возможный способ сделать это без = MODE (ARRAYFORMULA (SEPERATE (A1: A7))), SEPERATE - гипотетическая функция, определенная выше, то, пожалуйста, дайте мне один. Спасибо!

+0

Почему это downvoted? Это слишком #gimmetehcodez? – OldBunny2800

ответ

2

чтобы получить режим, поставить первую формулу в столбце B. Он добавляет запятую в конце каждого набора букв так расщепленной Виль Я работаю. Вторая формула найдет режим. Вы можете скрыть столбец B.

 
=transpose(split(join(" ",arrayformula(A1:A7&",")),", ")) 
 
=ArrayFormula(
    index(B1:B, 
    match(
     max(if(B1:B="",iferror(1/0),countif(B1:B,B1:B))), 
     countif(B1:B,B1:B), 
     0 
    ) 
    ) 
) 
+0

Спасибо за ваш ответ! – OldBunny2800

2

Вы не можете использовать раскол с формулой массива, но вы можете запустить функцию разделения в хелперовой колонке справа от ваших значений:

=SPLIT(A1,",") 

Также режим не работает с текстовыми значениями - только числом - вы возможно, захочет использовать countif вместо этого.

+0

О да, я спросил о режиме строк в другом вопросе. Это более сложная вещь index-y (см. [Здесь] (http://stackoverflow.com/a/35671043?noredirect=1)) – OldBunny2800

+2

Да, массив arraypleula является удивительным, но есть несколько ключевых функций, с которыми он просто не работает (и верьте мне, что я пытался навсегда). split - один из них, также importxml, importdata и т. д. –

+0

Есть ли способ сделать это, не используя вспомогательную колонку? Кроме того, я хотел бы, если бы запятые исчезли (я не знаю, делает ли это SPLIT()) – OldBunny2800

0

Чтобы получить таблицу сумм, используйте следующую формулу:

=QUERY({TRANSPOSE(SPLIT(JOIN(", ",A1:A7),", ")),TRANSPOSE(SPLIT(JOIN(", ",A1:A7),", "))},"select Col1, count(Col2) group by Col1 order by count(Col2) desc label count(Col2) ''",0) 

Это даст результат вроде этого:

E 5 
F 5 
A 4 
D 4 
G 4 
B 3 
C 2 
H 2 

И если вы хотите, чтобы получить букву «Е» (режим) используйте:

=QUERY(QUERY({TRANSPOSE(SPLIT(JOIN(", ",A1:A7),", ")),TRANSPOSE(SPLIT(JOIN(", ",A1:A7),", "))},"select Col1, count(Col2) group by Col1 order by count(Col2) desc label count(Col2) ''",0),"select Col1 limit 1")