У меня есть таблица Google (список общих дисков Google и их участников, выведенный из GAM), которая выглядит следующим образом: по одной строке на каждый адрес электронной почты, но первые три столбца идентичны для каждого общего диска:
[email protected]
1
Диск А
2024-01-09T17:15:21-08:00
[email protected]
1
Диск А
2024-01-09T17:15:21-08:00
[email protected]
1
Диск А
2024-01-09T17:15:21-08:00
[email protected]
2
Диск Б
2021-03-11T16:17:33-08:00
[email protected]
2
Диск Б
2021-03-11T16:17:33-08:00
[email protected]
3
Диск С
2018-12-27T08:41:39-08:00
[email protected]
3
Диск С
2018-12-27T08:41:39-08:00
[email protected]
3
Диск С
2018-12-27T08:41:39-08:00
[email protected]Я хочу преобразовать его так, чтобы он выглядел следующим образом, по одной строке на общий диск:
[email protected],[email protected],[email protected],[email protected]
2
Диск Б
2021-03-11T16:17:33-08:00
[email protected],[email protected]
3
Диск С
2018-12-27T08:41:39-08:00
[email protected],[email protected],[email protected]См. здесь пример листа с исходным кодом и желаемым результатом.
Если бы я работал в чем-то вроде BigQuery, я бы, вероятно, просто сделал это с помощью GROUP BY, ARRRAY_AGG и UNNEST, но я не уверен, как сделать то же самое в Таблицах.





Вы можете использовать следующую формулу:
=LET(
x,UNIQUE('Source data'!A2:C),
y,BYROW(x,LAMBDA(z,TEXTJOIN(",",1,FILTER('Source data'!D2:D,'Source data'!A2:A=INDEX(z,1),'Source data'!B2:B=INDEX(z,2),'Source data'!C2:C=INDEX(z,3))))),
HSTACK(x,y))
Причина, по которой форматирование столбца emailAddress является необычным, заключается в том, что автоматическая проверка неправильно отформатированного кода не пропустила бы этот столбец, если бы я не завернул адреса электронной почты в блоки кода.