Объединить результаты VLOOKUP в одну строку в Google Sheets - PullRequest
0 голосов
/ 03 ноября 2019

У меня есть следующая задача для моей электронной таблицы Google: строки JOIN во всех ячейках справа от определенного идентификатора.

  • Чтобы сформулировать это по-другому: SELECT A, JOIN(',', B) GROUP BY A, WHERE A = myid;, если JOIN был функцией агрегирования.
  • Или другими словами: =JOIN(',', VLOOKUP(A:B, myid, 0)), если VLOOKUP мог вернуть все вхождения, а не только первый.
  • Одна картинка лучше, чем из 1000 слов:

enter image description here

Возможно ли это с помощью электронных таблиц Google?

Ответы [ 2 ]

1 голос
/ 04 ноября 2019

пробовать:

=ARRAYFORMULA(SUBSTITUTE(REGEXREPLACE(TRIM(SPLIT(TRANSPOSE(QUERY(QUERY(
 IF(B2:B<>"", {A2:A&"×", B2:B&","}, ), 
 "select max(Col2) where Col2 !='' group by Col2 pivot Col1")
 ,,999^99)), "×")), ",$", ), ", ", ","))

0

1 голос
/ 03 ноября 2019

Я полагаю, что вы можете использовать функцию FILTER вместо VLOOKUP для фильтрации диапазона на основе идентификатора, а затем JOIN возвращенного диапазона.

Документация для FILTER находится здесь: https://support.google.com/docs/answer/3093197

Например:

  • Вы положили =UNIQUE($A:$A) в D2, чтобы получить все идентификаторы.
  • Затем в E2 вы кладете =IF($D2="", "", JOIN(",", FILTER($B:$B, $A:$A=$D2))), а затем копируете его.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...