Страницы: 1
RSS
Power Query: разбитие данных в ячейке по столбцам + ВПР по каждому полученному столбцу = суммирование полученных значений
 
Добрый день.

Исходные данные: столбец с данными, где в ячейках заполняются данные через разделитель "-".

Что нужно сделать: с помощью Power Query разбить ячейки на столбцы - получился "код" - теперь нужно подставить вместо "кода" данные с таблички данных (простая функция ВПР) - получившиеся значения просуммировать построчно в итоговый столбец.

Что не получается:
- при разбитии по разделителю нужно указывать количество столбцов. Ставлю, например, 10. Получается 11-ый, 12-ый и т.д "код" не попадает в таблицу. Ставлю, например, 30. Получаю кучу пустых столбцов - как их удалить?
- получили цепочку "кодов", разбитые по столбцам. Как теперь к каждому столбцу применить слияние в автоматическом режиме? Понимаю, что можно руками подставлять, но, если я сделаю ВПР для 10 столбцов, а потом у меня появятся 12 - вновь в ручную допиливать? Есть способ, как это более лучшим способом решить?
- мне нужно получить итоговый столбец с суммой полученных через ВПР (слияние) значений. Опять же вопрос - если сумму прописывать в ручную, то при добавлении столбцов нужно вносить изменения, как это решить проблему более простым способом? И есть ли такой способ?
 
Доброе время суток
Вариант
Код
let
    codes = Excel.CurrentWorkbook(){[Name="Код"]}[Content],
    codesToKey = Table.TransformColumns(codes, {"Код", each if _ is number then Number.ToText(_, "0.00", "ru-RU") else _, Text.Type}),
    source = Excel.CurrentWorkbook(){[Name="Данные"]}[Content],
    sourceKeyList = Table.AddColumn(source, "key", each Text.Split([Исходные данные], "-"), List.Type),
    sourceToKey = Table.ExpandListColumn(sourceKeyList, "key"),
    joined = Table.Join(sourceToKey, {"key"}, codesToKey, {"Код"}),
    result = Table.Group(joined, {"Исходные данные"}, {"Что должно получиться:", each List.Sum([Значение]), Number.Type})
in
    result

Забудьте про такую функцию как ВПР в Power Query :)
Изменено: Андрей VG - 12.10.2019 15:52:52
 
Андрей VG, ВПР озвучил лишь для понимания операции.
Не ожидал получить быстрый ответ. Проверить смогу лишь завтра. Спасибо за помощь!
Страницы: 1
Наверх