На основании комментариев, сделанных @MartinPetrov в ответ @ Napoli, ОП хочет сгруппировать даты рядом с каждым именем, возможно, одним из следующих способов:
Это можно сделать с помощью #powerquery
, который является встроенной функцией Excel.Пожалуйста, обратитесь к этой статье , чтобы узнать, как использовать Power Query в вашей версии Excel.Он доступен в Excel 2010 Professional Plus и более поздних версиях .Моя демонстрация использует Excel 2016 .
Я использовал следующую таблицу под названием Tbl_10X10 , которая представляет собой таблицу 10 x 10
на основе исходной таблицы, предоставленной OP с некоторым примеромданные выделены желтым цветом.Это решение работает для набора данных размером 350x350 или более.
Шаги:
- Загрузка исходных данных редактор запросов мощности , который должен выглядеть следующим образом:
Используйте функцию
Отключить столбцы на вкладке
Transform
, чтобы отключить все столбцы, кроме первого, а затем
remover столбец
Value
, тогда у вас должно быть следующее:
Используйте
Группировать по функции на вкладке
Transform
, чтобы сгруппировать столбец
Attribute
по
Column1
, как указано ниже.Не паникуйте, если результат в
error
, как и ожидалось.
Вернитесь к последнему шагу и замените исходную формулу в строке формул следующей, поскольку
Text.Combine не является встроенной функцией:
Вот формула: = Table.Group(#"Removed Columns", {"Column1"}, {{"Sum", each Text.Combine([Attribute], " ; "), type text}})
Если вы хотите, чтобы все даты были сгруппированы в один столбец, тогда наш запрос остановится здесь.Если вы хотите, чтобы они были в отдельных столбцах, вы можете использовать функцию Разделить столбец на вкладке Transform
, чтобы разбить даты на отдельные столбцы, как показано ниже:
Обратите внимание, я добавил 10
в качестве количества столбцов, на которые нужно разделить.В вашем случае вы, возможно, захотите ввести 350
или разумное число, чтобы все даты можно было поместить в столбец, а затем массово удалить столбцы со значением null
.
Один разГотово, вы можете Закрыть и загрузить запрос к новому рабочему листу (по умолчанию).
Здесь находятся Power Query M коды позади сцены.Большинство шагов используют встроенные функции, которые являются прямыми, за исключением последнего шага перезаписи формулы в строке формул.
let
Source = Excel.CurrentWorkbook(){[Name="Tbl_10X10"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"September, 12", Int64.Type}, {"June, 13", Int64.Type}, {"August, 21", Int64.Type}, {"July, 5", Int64.Type}}),
#"Unpivoted Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"Column1"}, "Attribute", "Value"),
#"Removed Columns" = Table.RemoveColumns(#"Unpivoted Columns",{"Value"}),
#"Grouped Rows" = Table.Group(#"Removed Columns", {"Column1"}, {{"Sum", each Text.Combine([Attribute], " ; "), type text}}),
#"Split Column by Delimiter" = Table.SplitColumn(#"Grouped Rows", "Sum", Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv), {"Sum.1", "Sum.2", "Sum.3", "Sum.4", "Sum.5", "Sum.6", "Sum.7", "Sum.8", "Sum.9", "Sum.10"}),
#"Removed Columns1" = Table.RemoveColumns(#"Split Column by Delimiter",{"Sum.7", "Sum.8", "Sum.9", "Sum.10"})
in
#"Removed Columns1"
Дайте мне знать, если у вас есть какие-либо вопросы.Приветствия:)