У меня есть дубликаты строк, которые представляют клиентов, которые купили разные товары. Купленный товар находится в одной колонке. Я хотел бы переместить их в отдельные столбцы, чтобы я мог импортировать в другую программу. Так что мои данные выглядят примерно так:

загруженный скриншот Excel

John  book          
John  ball          
John  bat           
Tom   book          
Tom   bat           
Kate  ball

Я хотел бы, чтобы данные о купленных товарах были перенесены в отдельные столбцы, что-то вроде этого:

John   book   ball   bat

Tom    book    -     bat

Kate    -     ball    -

Где у каждой книги, мяча и летучей мыши есть своя собственная колонка.

1 ответ1

1

Эта формула, заполненная из A8 , перечислит имена клиентов, удалив дубликаты:

=IFERROR(INDEX($A$1:$A$6,MATCH(0,COUNTIF(A$7:A7,$A$1:$A$6),0)),"")

Это формула массива, поэтому ее нужно вводить с помощью CTRL Shift Enter, а не просто Enter.

Эта формула, заполненная справа и снизу от B8 , перечислит покупки каждого клиента:

=IF(SUMPRODUCT(($A$1:$A$6=$A8)*($B$1:$B$6=INDEX($B$1:$B$3,COLUMN(A1))))>0, INDEX($B$1:$B$3,COLUMN(A1)),"")

Обратите внимание, что последняя формула основана на том факте, что B1:B3 является упорядоченным списком покупок. Это, вероятно, случайно, и подобный список может быть расположен где угодно. Если бы список был горизонтальным, а не вертикальным, формула была бы проще. Скажем, список был в E1:G1 , тогда формула будет:

=IF(SUMPRODUCT(($A$1:$A$6=$A8)*($B$1:$B$6=E$1))>0,E$1,"")

И формула массива, аналогичная первой, заполненная справа от E1, может перечислить покупки там:

=IFERROR(INDEX($B$1:$B$6,,MATCH(0,COUNTIF($D1:D1,$B$1:$B$6),0)),"")

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .