Другие языки программирования и технологии

знатоки Экселя! Выручайте!

Каждый день я получаю отчет с кодами (коды соответствуют отделам на предприятии) этим кодам соответствуют суммы (выручки) ,
У меня есть суммарный отчет за месяц с этими кодами и суммами и каждый день из ежедневного отчета, нужно вставлять в данные в ежемесячный. Можно ли сделать так, чтобы вставляя ежедневные отчеты в лист за месяц, выручки сразу падали по кодам?
SQ
Sony Qeric
563
вообще то я бы скомпоновал инфу по-другому:

Дата Код Выручка ...и другие нужные поля

и тогда бы excel с помощью автофильтров и ПОМЕЖУТОЧНЫХ ИТОГОВ давал бы отчет за любой период который вы бы указали :)
Тем более что начиная с excel 2007 в таблицах 1 млн строк с гаком, а это примерно 2 с половиной тыщи лет поделенное на число цехов, при условии что 1 строчка - это запись 1 дня для 1 цеха

И такая структура понравилась бы прогерам для обмена с 1С и другими программами.

И еще с помощью фильтров вы бы могли делать выборки по датам, по цехам, легко строить графики и навешивать любой анализ

Ну а с помощью макросов тогда бы можно покрасить горизонты в розовые цвета и начать строить Новые Васюки :)
Сергей Дорошевич
Сергей Дорошевич
69 867
Лучший ответ
Можно
Ехсеl для того и предназначен, чтобы рутинную работу делать автоматически
или полуавтоматически.

Надо написать макрос на VBA.
Алгоритмов подходящих может быть много.
Можно просто слить вместе старый файл накопленного отчета и ежедневный и отсортировать по первой колонке в порядке следования названий отделов и сумм по ним, затем поправить строки сумм.
С)
Серёга )))
70 042
Серёга ))) ожно было бы организовать для каждого отдела свой лист,
окуда сумма копируется автоматом на сводный лист
тогда сегодняшняя строка по отделу должна просто вставляться на листе отдела
в последнюю строку (если сумма сверху) или в предпоследнюю, если сумма снизу.

Надо вставить пустую строку, а затем скопировать значения из сегодняшней строки из другого файла через буфер или автоматически.
В ячейках итоговой строки адреса автоматически изменятся и всё пересчитается.

Если же все даннык сносятся на общий лист, а строка суммы по отделу следует сразу
за группой строк этого отдела, то алгоритм вставки такой же (см. предыдущий абзац), но
нужен другой алгоритм поиска места для вставляемой строки.
В колонке номеров отделов ищется сверху вниз ячейка с номером равным номеру отдела.
Найдено.
Серёга ))) В следующем цикле в следующих стрроках ищется сверху вниз ячейка
на содержащая номер отдела. Это может быть ячейка "ИТОГО ПО ОТДЕЛУ НОМЕР N"
Найдено.
Перед этой строкой вставить пустую строку и в ней из буфера вставляется строка сегодняшних данных по отделу.

Если копирование автоматическое, то программа запускается один раз и содержит цикл перебора исходных сегодняшних файлов.
Если полуавтоматическая, то копирование исходной строки можно делать вручную,
переходить в файл отчета установить курсор в первую строку или на любую строку
среди строк нужного отдела и нажать кнопку, к которой присоединён макрос
поиска-вставки.

Через 2 минуты готов результат.
Задача как раз хороша, чтобы начать писать макросы.

Для пробы можно записать макрос вставки.
Затем закончить запись.
Нажав ALT+F11 открыть среду редактора VBA
Найти модуль в котором записан макрос, двойным щелчком открыть текст модуля.
В макросе дописать нужные циклы и переменные.
Sony Qeric Юля, спасибо за ответ! Пойду учиться делать макрос.
Вам каждый день приходит новый файл или все накапливается в одном?
В первом случае нужен макрос, который перебирает файлы (новые или там все) и формирует. Во втором случае - просто сумма или сводная.
Sony Qeric Да, мне каждый день приходит файл с двумя столбцами. В одном столбце коды, в другом цифры. Эти данные надо заносить в такую таблицу, как на картинке.