Страницы: 1
RSS
Извлечение данных из сводной таблицы и автоматическое обновление
 
Доброго времени суток, форумчане!
Подскажите пожалуйста, существует ли решение поставленной задачи...
Существует таблица данных, которая постоянно обновляется (1 таблица в примере). На основе этой таблицы составляется сводная (2 таблица в примере), для получения информации о общем количестве элементов. Вопрос, каким образом возможно на основании сводной таблицы составить ещё одну таблицу (3 таблица в примере, в которую можно было бы вносить пользовательские данные - графы "заявлено" и "требуется" (данные конечно должны соответствовать определенному наименованию и типоразмеру), и при автоматическом обновлении сводной таблицы менялась бы и эта таблица (3 таблица в примере) с пользовательскими данными, а порядок позиций и элементов был как в сводной.
Надеюсь мысль мне удалось донести. Файл с примером прилагаю. В примере упомянутая таблица создана простым копированием, и при обновлении сводной приходится в ручную добавлять новые графы, что неудобно, долго и приводит к ошибкам.
Изменено: fugi1824 - 19.01.2016 19:16:44
 
Вам самому (самой?) удобно работать с ТАКИМИ таблицами? Почему каждую таблицу нельзя на отдельном листе сделать? ИМХО
Согласие есть продукт при полном непротивлении сторон
 
Доброе время суток
Поскольку у вас сводная "плоская", то вариант на Power Query с вычисляемыми столбцами в результате. Чтобы обновить на таблице листа "Сводка" в контекстном меню - Обновить.
Успехов.
 
Цитата
Sanja написал:
Вам самому (самой?) удобно работать с ТАКИМИ таблицами? Почему каждую таблицу нельзя на отдельном листе сделать? ИМХО
Листов с "ТАКИМИ" таблицами может быть 5-10, а если ещё и по отдельности каждую таблицу на лист выносить, то в листах потеряешься. Файлы плодить нет желания. Да и так вполне удобно работать.
 
Андрей VG, огромное спасибо! Буду разбираться с новой функцией. Очень помогли!

Цитата
Sanja написал: Почему каждую таблицу нельзя на отдельном листе сделать? ИМХО
Листов с "ТАКИМИ" таблицами может быть 5-10, а если ещё и по отдельности каждую таблицу на лист выносить, то в листах потеряешься. Файлы плодить нет желания. Да и так вполне удобно работать.
 
Цитата
fugi1824 написал: Буду разбираться с новой функцией
Лучше всё же переделать. Ни ваш ручной вариант, ни мой скрипт на Power Query не удовлетворяют логике. По идее, у вас должна быть отдельная таблица заявок, которую и нужно через Full Outer Join соединять со сводной. А так, по идее - любая сортировка может сбить ваш ввод в таблицу, формируемую Power Query. Хотя всё, конечно, зависит от бизнес-логики.
 
Цитата
Андрей VG написал: Лучше всё же переделать.
Что именно переделать?
Если это бы работало, и сводная с таблицей заявок взаимообновлялась без потери или смещения данных по количеству заявленных позиций, то пусть эти данны будут в отдельных таблицах, не вижу в этом проблемы.

Цитата
Андрей VG написал: А так, по идее - любая сортировка может сбить ваш ввод в таблицу, формируемую Power Query.
Пока тестировал, вроде всё работает, но Вы утверждаете что можно чего то не досмотреть? И избежать этого можно только с помощью Full Outer Join? Хотя для меня это всё тёмный лес...)

Что касаемо логики, она проста. Требуется создать таблицу, которая будет брать информацию об элементе из сводной (или напрямую из исходной), и в которой можно будет отслеживать заявлено ли всё количество элементов, или, после обновления сводной, где то количество стало недостаточным, и надо дозаявлять. Файл будет лежать на сервере, все графы таблицы будут заблокированы для редактирования, за исключением графы заявлено, чтобы любой пользователь мог внести данные о количестве заявленных позиций.

 Так же попробовал открыть Ваш пример на рабочем месте и у меня ничего не получилось, в том смысле что Excel не понимает данное содержимое, или я чего то не понимаю? На одном ПК где Excel 2016 установлен всё работает, а вот где Excel 2007 ничего не происходит...) На оф. сайте прочитал что Microsoft Power Query для Excel поддерживается только с 2010 версии, если это так, то данное решение у меня не получится реализовать.
Решение должно реализоваться на версии Excel 2007...
Изменено: fugi1824 - 25.04.2016 09:12:34
 
К сожалению, описанное мной имеет быть в реальности. В примере, на листе сводка - сводная со столбцом ввода "заявка". Сейчас введены числа совпадающие с числами в столбце "group". Но если нажать обновить, то... слетают соответствия. Так что, увы, реально связывать нужно результат сводной и отдельной таблицы заказов по общему набору столбцов.
Цитата
fugi1824 написал: Full Outer Join
Это означает, что две таблицы соединяются по общему столбцу, как в ВПР (или набору столбцов), но выводятся все строки первой таблицы, в которой нет совпадений со второй, строки второй, у которой нет совпадений по общему столбцу с первой, ну, и, естественно, совпадающие по общему столбцу строки обеих таблиц. Ничего сложного.
Цитата
fugi1824 написал: Решение должно реализоваться на версии Excel 2007...
Я так думаю - вы его реализуете!!! Успехов.
 
Андрей VG, благодарю. Буду пробовать :)
 
А файл то я и не приложил для демонстрации сути проблемы.
 
Ну в общем смысл понятен.) Жаль конечно что напрямую в сводную нельзя добавить столбец с своими данными.)
 
Цитата
fugi1824 написал: Жаль конечно что напрямую в сводную нельзя добавить столбец с своими данными.)
Просто по другому организовать работу с данными. По вашему файлу таблица-источник уже содержит шапку Заказ, следовательно сводная сводка по заказам. Тогда что означает в последней таблице в ручную вводимый столбец Заяв.? Если понять вашу бизнес-логику, то можно что-то посоветовать, а так - это гадание на кофейной гуще.
 
Цитата
Андрей VG написал:
Тогда что означает в последней таблице в ручную вводимый столбец Заяв.?
Всё достаточно просто, есть заказ, на него я собираю исходную таблицу (по системам, так мне удобно работать, а шапка там больше для "галочки" таблица рабочая, в ней автоматизирован способ заполнения через выпадающие списки), затем формирую сводную, чтобы оценить общее количество соответствующих труб, фитингов и КИПиА, и даю эту сводную таблицу другому человеку, он на основании её производит закупку.
Графа "Заяв.", означает, сколько было закуплено. При первом составлении общее исходное количество и количество закупленного совпадают, так как закупка составлялась по сводной. Но затем у меня произошли некоторые изменения, я меняю количество труб или фитингов, добавляю новые и обновляю сводную... Получилась новая таблица для закупки, но надо закупить теперь не всё, а только то, чего не хватает до нужного количества, для этого приходится брать первый раз распечатанную сводную и сравнивать с новым вариантом, и считать разницу вручную... Таких изменений может быть много, вплоть до того, что берешь 20 накладных, вручную считаешь сколько и чего было закуплено и сравниваешь это с последним вариантом сводной... И такие изменения постоянны... нужна графа, в которую можно было бы внести данные о количестве закупленного....
Например посчиталось в сводной что нужно купить 27 метров труб определенного типоразмера, человек который будет закупать их, зашел на сервер, открыл файл и занёс в нужную графу что купил 27 метров, в третьей графе посчиталось что 27-27=0, т.е. докупать ничего не требуется. Затем произошли изменения в проекте или ещё в чём то и в сводной уже нужно купить не 27, а 43 метра этих же труб. И человек зашел на сервер и увидел что теперь 43-27=16, и ему нужно ещё купить 16 метров труб.

До сих пор мне не удалось добиться требуемого результата...
Изменено: fugi1824 - 01.04.2016 15:59:19
 
 Прикрепляю на текущий момент рабочие файлы, это каталог и спецификация. файл "Каталог" - это база данных на которую ссылается рабочий файл ("Спецификация"). Работа ведётся с первой таблицей в файле "Спецификация" путем заполнения граф "Наименование", "Типоразмер" и "Кол-во". Потом обновляется сводная и получается общий список комплектующих. Чтобы работали выпадающие списки файл "Каталог" обязательно должен быть открыт... Вот как то так и работаю. И мечтаю добавить в сводную ещё две графы о которых я говорил ранее...
Если сможете дать советы по оптимизации или реструктуризации работы, которая поможет добиться более качественного результата, буду очень признателен.
Файлы удалены - превышен максимально допустимый размер. Читаем Правила.
Изменено: fugi1824 - 23.04.2016 07:44:31
 
Доброе время суток
Допилил вариант на Power Query на самосоединении. Теперь столбец "заявка" вводимый вручную, столбец "вычислить" вычисляемый, столбцы group, sum - результат сводной таблицы на листе "База". Вроде всё работает как надо.
Успехов.
Изменено: Андрей VG - 23.04.2016 17:55:33
 
Андрей VG, спасибо Вам большое! Буду тестировать и эксперементировать.:)  
Страницы: 1
Читают тему
Наверх