Страницы: 1
RSS
Сбор значений ячеек. Разные листы. Разное расположение. Типичная структура листа.
 
Приветствую всех!
Подскажите пожалуйста кто как видит решение данной задачи.
Имеется Книга с количеством листов более 100 шт.
Необходимо собрать на одном листе значения ячеек содержащие: 1. Дата документа 2. Стоимость услуг.
Листы имеют типичную структуру, содержат определенное количество граф, таблиц. Однако таблицы могут различаться по количеству содержащих строк, и из за чего местоположение граф может меняться.
Например. {Пример прилагается}
Лист 1. Таблица 1 имеет 4 строки. Графа "Стоимость общая" находится на 20-ой строке.
Лист 2. Таблица 1 имеет 5 строк. Графа "Стоимость общая" находится на 21-ой строке.
Лист 3. Таблица 1 имеет 3 строки. Графа "Стоимость общая" находится на 19-ой строке.
И так далее.
**В примере показаны только значимые ячейки
***Графа "Стоимость услуг общая" в зависимости от количества строк в таблице листа может перемещаться по строкам либо вверх либо вниз, т.е. перемещаться вправо или влево она не может.
Изменено: abdulov.777 - 23.01.2019 13:16:06
 
Решение через PowerQuery точно поможет.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Вариант на Power Query:
Код
let
    Источник = Excel.Workbook(File.Contents(Excel.CurrentWorkbook(){[Name="Путь"]}[Content]{0}[Column1]), null, true),
    УбираемЛистИтого = Table.SelectRows(Источник, each ([Name] <> "Итого") and ([Kind] = "Sheet")),
    ВыборИтогов = Table.TransformColumns(УбираемЛистИтого, {{"Data", each Table.SelectRows(_, each ([Column1] = "Стоимость общая" or [Column4] = "Дата документа")), type table}}),
    СтроимТаблицу = Table.TransformColumns(ВыборИтогов, {{"Data", each #table({ _[Column4]{0}, _[Column1]{1}},{{Date.From(_[Column5]{0}), Number.From(_[Column2]{1}) }}), type table}}),
    ОставляемТолькоТаблицы = Table.SelectColumns(СтроимТаблицу,{"Data"}),
    РазворачиваемСтолбцы = Table.ExpandTableColumn(ОставляемТолькоТаблицы, "Data", {"Дата документа", "Стоимость общая"}, {"Дата документа", "Стоимость общая"})
in
    РазворачиваемСтолбцы
Изменено: PooHkrd - 23.01.2019 14:00:36
Вот горшок пустой, он предмет простой...
 
Спасибо то, что нужно. Но я никак не могу применить ее к своему документу*facepalm*. Можешь помочь?
Изменено: abdulov.777 - 23.01.2019 18:30:07
 
abdulov.777, и какие поля нужно вытягивать из документов по дате? Начало/прием/окончание?
Какую сумму выводить? Ремонта, стоимость ЗЧ или общую?
Изменено: PooHkrd - 23.01.2019 18:41:50
Вот горшок пустой, он предмет простой...
 
PooHkrd, спасибо что откликнулся. Дата - окончание. Сумма - Общая с НДС. А также хотелось бы Гос.№
Изменено: abdulov.777 - 23.01.2019 17:27:11
 
Видимо, так:
Код
let
    Источник = Excel.Workbook(File.Contents(Excel.CurrentWorkbook(){[Name="Путь"]}[Content]{0}[Column1]), null, true),
    УбираемЛистИтого = Table.SelectRows(Источник, each ([Name] <> "Итого") and ([Kind] = "Sheet")),
    ВыборИтогов = Table.TransformColumns(УбираемЛистИтого, {{"Data", each Table.SelectRows(_, each ([Column23] = "Дата окончания работ" or [Column23] = "Гос. №" or [Column23] = "Всего с учетом НДС")), type table}}),
    СтроимТаблицу = Table.TransformColumns(ВыборИтогов, {{"Data", each #table({ _[Column23]{0}, _[Column23]{1}, _[Column23]{2}},{{Date.From(_[Column31]{0}), Number.From(_[Column30]{1}),Number.From(_[Column30]{2}) }}), type table}}),
    ОставляемТолькоТаблицы = Table.SelectColumns(СтроимТаблицу,{"Data"}),
    РазворачиваемСтолбцы = Table.ExpandTableColumn(ОставляемТолькоТаблицы, "Data", {"Дата окончания работ", "Гос. №", "Всего с учетом НДС"}, {"Дата окончания работ", "Гос. №", "Всего с учетом НДС"})
in
    РазворачиваемСтолбцы


Цитата
abdulov.777 написал:
Сумма - Общая с НДС
только не понял какая именно сумма с НДС. Там их несколько:
Всего с учетом НДС
Всего с учетом НДС, руб.
Общая стоимость ремонта с НДС, руб.
Изменено: Дмитрий(The_Prist) Щербаков - 23.01.2019 18:11:08
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1
Наверх