Формула для объединения значений, разделения их запятыми, несколькими строками, столбцами и несколькими условиями - PullRequest
0 голосов
/ 03 апреля 2019

У меня есть две колонки.Столбец A имеет несколько типов групп (т. Е. Group1, Group2, Group3), а столбец B - это список доменов (т. Е. A.com, b.com, c.com и т. Д.).

РезультатМне нужно:

  • Чтобы объединить в одной ячейке Домены из одной группы, разделенные запятыми.
  • Независимо от количества доменов из одной группы, эта строкаЗначения, разделенные запятыми, не должны превышать определенное количество доменов.
  • Остальные домены из группы будут отображаться в следующей строке, разделенные запятыми (столько строк, сколько необходимо, никогда не превышая максимальное количество доменов).).
  • В соседнем столбце слева указывается группа, к которой принадлежит каждая строка доменов.

В этом примере имеется три группы и 26 доменов.Максимальное количество доменов в строке - пять: https://docs.google.com/spreadsheets/d/1q1LkUyOkdiNvHjw78S4EXx1xw2n1ggeYRbDUhOwAgcc/edit#gid=0

Не знаю, слишком ли это сложно ... надеюсь, кто-то может поделиться своим пониманием.Заранее спасибо.

1 Ответ

1 голос
/ 03 апреля 2019

Вы также задавали этот вопрос на форумах Google. Я разместил свое решение там, потому что именно там я обычно делюсь своими усилиями, но Player0 предложил мне также публиковать здесь, поэтому я здесь.

На листе с образцами на вкладке MK.Solution вы найдете эту формулу. Я думаю, что он должен получить то, что вы ищете, и работать над большими наборами данных. Я новичок в S.E. поэтому я не совсем уверен в протоколе включения формул листов, поэтому сейчас я просто вставлю его и, надеюсь, скоро это выясню.

=ARRAYFORMULA(QUERY({SPLIT(UNIQUE(B2:B&"-"&INT((COUNTIFS(B2:B,B2:B,ROW(B2:B),"<="&ROW(B2:B))-1)/5)),"-"),TRANSPOSE(SUBSTITUTE(TRIM(QUERY(IF(B2:B&"-"&INT((COUNTIFS(B2:B,B2:B,ROW(B2:B),"<="&ROW(B2:B))-1)/5)=TRANSPOSE(UNIQUE(B2:B&"-"&INT((COUNTIFS(B2:B,B2:B,ROW(B2:B),"<="&ROW(B2:B))-1)/5))),C2:C&",",),,9^99)&"|"),", |",""))},"select Col1,Col3 where Col1<>'1' order by Col1"))

Cheers, Matt

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...