Исходные данные - файл csv от устройства измерения оптических характеристик. С 3-ей по 34-ую строки - цветовые координаты. С 36-ой по 67-ую измеренные спектры. Так, например, спектр из 36-ой строки использовался для расчета цветовых координат в 3-ей строке.
Задача на примере приложенного файла: Данные из диапазона R35C1:R67C346 перенести в R2C40.
Решить нужно средствами Power Query.
Решил задачу созданием нужных промежуточных таблиц через дублирование запроса и фильтрацией с последующим объединением справа. Нужно другое решение, чтобы впоследствии преобразовать запрос в функцию ( (filepath) ) для обработки большого количества файлов.
Пытался создать столбец с индексами по Position для последующего объединения, но эта затея не удалась.
а просто формулой ячейку K2 приравнять А35 -> ='[Пример.xlsx]так было'!A35 и протянуть на 350 столбцов и 34 строки? в вашем формате RC - в ячейку R2C11 ввести формулу ='[Пример.xlsx]так было'!R[33]C[-10]
может постановка некорректная, но простое копирование дает 100% результат, потому и задача кажется странной
let
Source = Excel.CurrentWorkbook(){[Name="Таблица_15_37_39_Plate_16498"]}[Content],
c_list = List.Buffer({"Column1", "Column2", "Column3", "Column4", "Column5", "Column7", "Column9", "Column11", "Column37", "Column39"}),
tables = Table.SplitAt(Source, 33),
first = Table.ToRows(Table.SelectColumns(tables{0}, c_list)),
second = Table.ToRows(tables{1}),
all = List.Buffer(List.Zip({first, second})),
rows = List.Buffer(List.Transform(all, List.Combine)),
z = Table.FromRows(rows)
in
z
Убрал колонки из первой части таблицы (как в вашем примере). Но не понял откуда взялись данные в колонках с Sheet Resistance и Distance Value. Первая строка (с названиями колонок) получилась несколько иной - у меня названия колонок идут по порядку. Код "крутится", но как-то медленновато. Пробовал через Table.FromColumns - еще медленнее получилось. Может кто-то более искушенный поможет с производительностью. Но колонок уж очень много у вас (350+).
Файл примера в первом сообщении обрезан. Прикладываю здесь файл без предварительной обработки, для лучшего понимания.
Значения Y L a* b* смещены для каждого набора измерений вправо, поэтому нужно убрать лишние колонки.
Значения Sheet Resistance и Distance подтягиваются из соответствующего набора в самом низу набора исходных данных NAGY Measurement Unit из AJ263:AM294.
Алексей Контев, цель - максимально автоматизировать обработку, так как речь идет про множество файлов, которые нужно привести в более-менее удобный вид.
В итоге снова все обработал через дублирование и фильтрацию исходной таблицы с последующим объединением. Все работает, не очень быстро, но результат есть. Но как только пытаюсь применить функцию (filepath)=> естественно все мои продублированные запросы теряют ссылку на источник.