Пожалуйста, обратитесь к этой статье , чтобы узнать, как использовать Power Query в вашей версии Excel. Он доступен в Excel 2010 Professional Plus и более поздних версиях . Моя демонстрация использует Excel 2016 .
Шаги:
- Добавить исходные данные в редактор мощных запросов;
- Выделить все
Item
столбцы, используйте функцию Unpivot Columns на вкладке Transform
, чтобы отключить эти столбцы, затем отсортируйте таблицу по Value
, затем по Name
столбцу; - Используйте Группировать поФункция на вкладке
Transform
позволяет группировать столбец Name
по столбцу Value
, как указано ниже:

Вернитесь к последнему шагу в разделе
APPLIED STEPS справа и перейдите к строке формул, чтобы заменить эту часть формулы
List.Sum([Name])
на
Text.Combine([Name]," ")
;
Закрыть и загрузить результат на новый рабочий лист (по умолчанию).
Если все ваши имена совпадают без каких-либо скрытых пробелов в начале или в конце строкив результате вы должны получить следующее:

Вот мой Power Query M код для справки:
let
Source = Excel.CurrentWorkbook(){[Name="Table3"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Name", type text}, {" item1", type text}, {" item2", type text}, {" item3", type text}}),
#"Unpivoted Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"Name"}, "Attribute", "Value"),
#"Sorted Rows" = Table.Sort(#"Unpivoted Columns",{{"Value", Order.Ascending}, {"Name", Order.Ascending}}),
#"Trimmed Text" = Table.TransformColumns(#"Sorted Rows",{{"Value", Text.Trim, type text}}),
#"Cleaned Text" = Table.TransformColumns(#"Trimmed Text",{{"Value", Text.Clean, type text}}),
#"Grouped Rows" = Table.Group(#"Cleaned Text", {"Value"}, {{"names", each Text.Combine([Name]," "), type text}})
in
#"Grouped Rows"
Дайте мне знать, если у вас есть какие-либо вопросы. Ура :) 1060 *