Вопрос:

Получить несколько значений в одной строке транспонировать на основе критериев в другой строке

excel google-sheets spreadsheet

25 просмотра

2 ответа

27 Репутация автора

У меня есть лист, который заполняется из формы Google. Он поставляется с колонкой для названия компании и имени сотрудника. Столбец компании может иметь одинаковое или повторяющееся значение, а столбец сотрудника - нет. Итак, как я могу получить название компании со всеми именами сотрудников в одном ряду?

введите описание изображения здесь

Автор: randuwe Источник Размещён: 11.08.2019 06:10

Ответы (2)


1 плюс

8781 Репутация автора

Решение

Вы могли бы изучить UNIQUEи FILTERфункции, если вы используете Google Spreadsheet. Вот пример:

введите описание изображения здесь


Формула вD2:

=UNIQUE(A2:A)

Формула вE2:

  • Опция 1

    =TRANSPOSE(FILTER(B:B,A:A=D2))
    
  • Вариант 2, приведенный выше может стать очень медленным, поэтому вместо этого можно использовать:

    =TRANSPOSE(FILTER(B$2:INDEX(B:B,COUNTA(B:B)),A$2:INDEX(A:A,COUNTA(A:A))=D2))
    
  • Вариант 3, QUERYВозможно даже использование :

    =TRANSPOSE(QUERY({$A$2:INDEX($B:$B,COUNTA(B:B))},"Select Col2 where Col1='"&D2&"'"))
    
  • Вариант 4, Нашел способ просто использовать одну формулу в E2:

    =ARRAYFORMULA(ARRAY_CONSTRAIN(TRIM(SPLIT(TRIM(TRANSPOSE(QUERY(IF(TRANSPOSE(D2:INDEX(D:D,COUNTA(D:D)))=A2:INDEX(A:A,COUNTA(A:A)),B2:INDEX(B:B,COUNTA(B:B))&"|",),,9^99))),"|")),COUNTA(D2:INDEX(D:D,COUNTA(D:D))),100))
    

Таким образом, когда вы добавляете данные в столбец, A:Bформула автоматически обновляет желаемый результат:

введите описание изображения здесь

Автор: JvdV Размещён: 11.08.2019 08:50

0 плюса

18262 Репутация автора

одноклеточное решение:

=ARRAYFORMULA({SORT(UNIQUE(INDIRECT("A2:A"&COUNTA(A2:A)+1))), 
 SPLIT(TRIM(TRANSPOSE(QUERY(TRANSPOSE(IF(ISNUMBER(QUERY(QUERY(A2:B, 
 "select count(A) where A is not null group by A pivot B", 0), 
 "offset 1", 0)), QUERY(QUERY(A2:B, 
 "select count(A) where A is not null group by A pivot B", 0), 
 "limit 0", 1)&"♦", )),,999^99))), "♦")})

0

Автор: player0 Размещён: 11.08.2019 02:07
Вопросы из категории :
32x32