Уважаемые форумчане. Рассчитываю на Ваш богатый опыт и смекалку!)
Предыстория: Есть ряд документов с наименованием: "март", "апрель","май" и т.д. Они идентичны по построению, кол-ву листов и их наименованию и т.д. Они являются табелем рабочего времени сотрудников. На сегодня, данный документ производит расчет премиальной части на основании оборота, должности сотрудника, старшинства, кол-ва рабочих часов, магазина в которых они работали и еще нескольких показателей. Встала задача, в данный документ добавить распределение суммы недостачи среди сотрудников на основании: кол-ва часов, должности сотрудника, магазина и т.д. Как произвести данный расчет я знаю, но не могу подтянуть данные.
Задача : В связи с тем, что информация о недостаче поступает в компанию каждую неделю - для правильного расчета нужно, ИНОГДА, переносить часть информации за прошлый месяц в новый табель(текущий месяц). Вызвано это тем, что недостача посчитана за неделю, а неделя может выпасть на два месяца. В идеале хотелось бы получить - изменяемую формулу "индекс поискпоз", которая подсасывает из предыдущего месяца инфо о раб часах (с учетом цвета ячейки). Подсасывать информацию необходимо до первого понедельника с конца(включительно). А изменяемую, потому что каждый последующий месяц, должен брать информацию из предыдущего.
Ошибки : 1) при сравнении данных из разных книг, инфо из книги2 формула видит как текст, и не может найти совпадение (хотя я предварительно присвоил всем ячейкам "Общий" тип). 2) формула не динамичная( не знаю как сделать, чтобы формула изменялась в зависимости от файла(месяца) в котором сейчас работаю)
Я прикладываю фото документа (https://b.radikal.ru/b36/1805/85/7f6b8015e788.jpg) в связи с большим блоком персональной информации сотрудников и компании. Если понадобится, переработаю документ и пришлю на рассмотрение файл (удалив персональные данные)
Уважаемые форумчане. Рассчитываю на Ваш богатый опыт и смекалку!)
Предыстория: Есть ряд документов с наименованием: "март", "апрель","май" и т.д. Они идентичны по построению, кол-ву листов и их наименованию и т.д. Они являются табелем рабочего времени сотрудников. На сегодня, данный документ производит расчет премиальной части на основании оборота, должности сотрудника, старшинства, кол-ва рабочих часов, магазина в которых они работали и еще нескольких показателей. Встала задача, в данный документ добавить распределение суммы недостачи среди сотрудников на основании: кол-ва часов, должности сотрудника, магазина и т.д. Как произвести данный расчет я знаю, но не могу подтянуть данные.
Задача : В связи с тем, что информация о недостаче поступает в компанию каждую неделю - для правильного расчета нужно, ИНОГДА, переносить часть информации за прошлый месяц в новый табель(текущий месяц). Вызвано это тем, что недостача посчитана за неделю, а неделя может выпасть на два месяца. В идеале хотелось бы получить - изменяемую формулу "индекс поискпоз", которая подсасывает из предыдущего месяца инфо о раб часах (с учетом цвета ячейки). Подсасывать информацию необходимо до первого понедельника с конца(включительно). А изменяемую, потому что каждый последующий месяц, должен брать информацию из предыдущего.
Ошибки : 1) при сравнении данных из разных книг, инфо из книги2 формула видит как текст, и не может найти совпадение (хотя я предварительно присвоил всем ячейкам "Общий" тип). 2) формула не динамичная( не знаю как сделать, чтобы формула изменялась в зависимости от файла(месяца) в котором сейчас работаю)
Я прикладываю фото документа (https://b.radikal.ru/b36/1805/85/7f6b8015e788.jpg) в связи с большим блоком персональной информации сотрудников и компании. Если понадобится, переработаю документ и пришлю на рассмотрение файл (удалив персональные данные)EvgeniyVS
Сообщение отредактировал EvgeniyVS - Понедельник, 07.05.2018, 16:29
EvgeniyVS, Может проще сделать одну накопительную таблицу типа: Дата /Магазин / ФИО/ Должность / К-во часов.... И пополнять ее новыми данными- тогда у Вас будет вся история внутри книги, и сможете создать любой отчет за любой период.
EvgeniyVS, Может проще сделать одну накопительную таблицу типа: Дата /Магазин / ФИО/ Должность / К-во часов.... И пополнять ее новыми данными- тогда у Вас будет вся история внутри книги, и сможете создать любой отчет за любой период.SLAVICK
Для возможности публикации на данном ресурсе, мне пришлось урезать документ(все вычисления) и дополнительные листы.
Я ранее уже рассматривал вариант соединения в единый табель, НО: 1) Данные по обороту меняются каждый месяц, а значит все равно придется делать ссылку на другую книгу (для возможности отслеживания прошлых периодов, без особых проблем). 2) Очередность, персонал и его кол-во изменяется каждый месяц, что значительно увеличит таблицу. А я стараюсь сделать удобный документ для сотрудника занимающегося распределением персонала(формированием рабочего табеля). 3) В данном документе удален лист "печать". Он содержит месячную информацию (в сжатом формате), которая передается в бухгалтерию для внесения в основную зарплатную программу. Таким образом, для возможности формирования подобного отчета, мне в любом случае понадобится динамичная формула. 4) Размер файла составляет 2,5Мб, боюсь объединение всех табелей в один, его значительно увеличит. Что приведет к зависанию программы. А ПК у сотрудников разные.
Итог: Соединение в единую таблицу не облегчит работу, а лишь "поменяет местами слагаемые".
Вопрос остается открытым: 1) Как заставить определять найденное значение, из другой книги, формулой "Индекс Поискпоз" Текущая Ошибка - #Н/Д Хоть функция и видит, в просматриваемом массиве искомое значение, подтянуть не может. Я думал, что проблемой является ошибка ТИПа ячейки, но мои эксперименты не помогли. 2) Как, используя "любую" ячейку, изменять часть формулы "Индекс Поискпоз". Пример - файл 05.18.xlsm, лист Магазин №1, ячейка Н7, функция {=ИНДЕКС('[04.18.xlsm]Магазин №1'!J$7:AN$26;ПОИСКПОЗ($A$5&$B7&H$6;'[04.18.xlsm]Магазин №1'!A$5&'[04.18.xlsm]Магазин №1'!B$7:B$26&'[04.18.xlsm]Магазин №1'!J$1:AN$1;0))} Чтобы формула стала динамичной, нужно изменить лишь наименование файла по всей формуле. В нашем случае "[04.18.xlsm]". Мой идеальный вариант - изменение ячейки, в которую я вношу название файла подкачки данных, а формула автоматически меняется.
SLAVICK, Добрый день.
Для возможности публикации на данном ресурсе, мне пришлось урезать документ(все вычисления) и дополнительные листы.
Я ранее уже рассматривал вариант соединения в единый табель, НО: 1) Данные по обороту меняются каждый месяц, а значит все равно придется делать ссылку на другую книгу (для возможности отслеживания прошлых периодов, без особых проблем). 2) Очередность, персонал и его кол-во изменяется каждый месяц, что значительно увеличит таблицу. А я стараюсь сделать удобный документ для сотрудника занимающегося распределением персонала(формированием рабочего табеля). 3) В данном документе удален лист "печать". Он содержит месячную информацию (в сжатом формате), которая передается в бухгалтерию для внесения в основную зарплатную программу. Таким образом, для возможности формирования подобного отчета, мне в любом случае понадобится динамичная формула. 4) Размер файла составляет 2,5Мб, боюсь объединение всех табелей в один, его значительно увеличит. Что приведет к зависанию программы. А ПК у сотрудников разные.
Итог: Соединение в единую таблицу не облегчит работу, а лишь "поменяет местами слагаемые".
Вопрос остается открытым: 1) Как заставить определять найденное значение, из другой книги, формулой "Индекс Поискпоз" Текущая Ошибка - #Н/Д Хоть функция и видит, в просматриваемом массиве искомое значение, подтянуть не может. Я думал, что проблемой является ошибка ТИПа ячейки, но мои эксперименты не помогли. 2) Как, используя "любую" ячейку, изменять часть формулы "Индекс Поискпоз". Пример - файл 05.18.xlsm, лист Магазин №1, ячейка Н7, функция {=ИНДЕКС('[04.18.xlsm]Магазин №1'!J$7:AN$26;ПОИСКПОЗ($A$5&$B7&H$6;'[04.18.xlsm]Магазин №1'!A$5&'[04.18.xlsm]Магазин №1'!B$7:B$26&'[04.18.xlsm]Магазин №1'!J$1:AN$1;0))} Чтобы формула стала динамичной, нужно изменить лишь наименование файла по всей формуле. В нашем случае "[04.18.xlsm]". Мой идеальный вариант - изменение ячейки, в которую я вношу название файла подкачки данных, а формула автоматически меняется.EvgeniyVS
) Очередность, персонал и его кол-во изменяется каждый месяц,
по правильному нужно иметь справочник персонала - как во всех СУБД - тогда все легко можно отфильтровать поставив фильтр только на сотрудниках, у которых нет даты увольнения, или есть флаг "работающий"
Размер файла составляет 2,5Мб, боюсь объединение всех табелей в один,
При правильной органиации данных - формул будет гораздо меньше - файл будет в разы шустрее, и далеко не факт, что больше. Ну это все лирика. Теперь по теме: Вы же дату ищете в столбцах - почему же вы ее со строками сцепляете? Два варианта формул массива:
) Очередность, персонал и его кол-во изменяется каждый месяц,
по правильному нужно иметь справочник персонала - как во всех СУБД - тогда все легко можно отфильтровать поставив фильтр только на сотрудниках, у которых нет даты увольнения, или есть флаг "работающий"
Размер файла составляет 2,5Мб, боюсь объединение всех табелей в один,
При правильной органиации данных - формул будет гораздо меньше - файл будет в разы шустрее, и далеко не факт, что больше. Ну это все лирика. Теперь по теме: Вы же дату ищете в столбцах - почему же вы ее со строками сцепляете? Два варианта формул массива:
Непонятен вопрос. Если Вас интересует, могу ли я выгрузить инфо по обороту из закрыто периода - могу.
Цитата
по правильному нужно иметь справочник персонала - как во всех СУБД - тогда все легко можно отфильтровать поставив фильтр только на сотрудниках, у которых нет даты увольнения, или есть флаг "работающий"
Непонятно, о каком фильтре речь. Пока, я слабо представляю как это можно организовать. Возможно я предоставил Вам не все данные. Попробую описать часть процесса и требования к табелю: 1) Формирование табеля рабочего времени сотрудников (возможность его печати, для рассылки по розничным точкам из этого же документа, определенной формы) 2) После, этот табель претерпевает изменения[их вносят сотрудники на розничных точках] (подмены, болезни сотрудников) 3) Возвращаясь, Табеля корректируются (более 20шт.) 4) На основании данных в табеле, рассчитывается премиальная часть. Премиальная часть = Оборот [выгружается из базы 1С] (в зависимости от Типа Розничной точки) / Коэффициент Коэффициент = Тип розничной точки, Должности сотрудника, Кол-во сотрудников одной должности, Кол-во часов работы, Старшинство сотрудника, День недели 5) Также, имеется до 5 дополнительных премиальных частей. Они зависят от пересечения разных данных табеля. 6) После расчета премиальной части, как я говорил ранее, инфо в сжатой форме передается в бухгалтерию, для внесения в основные программы ведения заработной платы (1С зарплата и РМТО) 7) в ближайшей перспективе, данный Табель (с содержащейся в нем инфо о всех роз.точках) будет автоматом заливаться в вышеупомянутые программы.
Хочу пояснить. Данный документ я слепил на коленке за пару дней (параллельно дополняя его "хотелками" сотрудников). Да он не выглядит "причесанным", но от него многого не ждут. Его цель, немного снизить нагрузку на сотрудника. Слепил как смог :-)
Цитата
для такого легко подойдут сводные - тем более, что у Вас 2016-й офис. Там в модели данных можно оч. многое сделать..
. Буду признателен любой ссылки на эту тему.
Цитата
При правильной органиации данных - формул будет гораздо меньше - файл будет в разы шустрее, и далеко не факт, что больше.
Даже не стану спорить)))
Цитата
Два варианта формул массива:
Я понял в чем была моя ошибка. Спасибо.
SLAVICK,
Цитата
Данные меняются за закрытые(прошлые) периоды?
Непонятен вопрос. Если Вас интересует, могу ли я выгрузить инфо по обороту из закрыто периода - могу.
Цитата
по правильному нужно иметь справочник персонала - как во всех СУБД - тогда все легко можно отфильтровать поставив фильтр только на сотрудниках, у которых нет даты увольнения, или есть флаг "работающий"
Непонятно, о каком фильтре речь. Пока, я слабо представляю как это можно организовать. Возможно я предоставил Вам не все данные. Попробую описать часть процесса и требования к табелю: 1) Формирование табеля рабочего времени сотрудников (возможность его печати, для рассылки по розничным точкам из этого же документа, определенной формы) 2) После, этот табель претерпевает изменения[их вносят сотрудники на розничных точках] (подмены, болезни сотрудников) 3) Возвращаясь, Табеля корректируются (более 20шт.) 4) На основании данных в табеле, рассчитывается премиальная часть. Премиальная часть = Оборот [выгружается из базы 1С] (в зависимости от Типа Розничной точки) / Коэффициент Коэффициент = Тип розничной точки, Должности сотрудника, Кол-во сотрудников одной должности, Кол-во часов работы, Старшинство сотрудника, День недели 5) Также, имеется до 5 дополнительных премиальных частей. Они зависят от пересечения разных данных табеля. 6) После расчета премиальной части, как я говорил ранее, инфо в сжатой форме передается в бухгалтерию, для внесения в основные программы ведения заработной платы (1С зарплата и РМТО) 7) в ближайшей перспективе, данный Табель (с содержащейся в нем инфо о всех роз.точках) будет автоматом заливаться в вышеупомянутые программы.
Хочу пояснить. Данный документ я слепил на коленке за пару дней (параллельно дополняя его "хотелками" сотрудников). Да он не выглядит "причесанным", но от него многого не ждут. Его цель, немного снизить нагрузку на сотрудника. Слепил как смог :-)
Цитата
для такого легко подойдут сводные - тем более, что у Вас 2016-й офис. Там в модели данных можно оч. многое сделать..
. Буду признателен любой ссылки на эту тему.
Цитата
При правильной органиации данных - формул будет гораздо меньше - файл будет в разы шустрее, и далеко не факт, что больше.
т.е. например продажи за январь, выгруженные в отчете 10 февраля = 100. если выгрузить этот же отчет за январь, но в апреле - будет те же 100 или может быть другая цифра? Если та-же то мой подход в силе. Один раз добавили данные за закрытый период и забыли.
Вася Петров, в справочнике сотрудников имеет свой УНИКАЛЬНЫЙ ИД - и еще кучу другой информации как то дата приема на работу, дата увольнения, флаг работает/не работает...имея такой справочник в два клика можно получить список работающих сотрудников в конкретном магазине. Спросите у своих программистов 1С как это сделано у них - на примере нагляднее.
т.е. например продажи за январь, выгруженные в отчете 10 февраля = 100. если выгрузить этот же отчет за январь, но в апреле - будет те же 100 или может быть другая цифра? Если та-же то мой подход в силе. Один раз добавили данные за закрытый период и забыли.
Вася Петров, в справочнике сотрудников имеет свой УНИКАЛЬНЫЙ ИД - и еще кучу другой информации как то дата приема на работу, дата увольнения, флаг работает/не работает...имея такой справочник в два клика можно получить список работающих сотрудников в конкретном магазине. Спросите у своих программистов 1С как это сделано у них - на примере нагляднее.
Вася Петров, в справочнике сотрудников имеет свой УНИКАЛЬНЫЙ ИД - и еще кучу другой информации как то дата приема на работу, дата увольнения, флаг работает/не работает...имея такой справочник в два клика можно получить список работающих сотрудников в конкретном магазине.
Теоретически предположим, что мы создали плоскую таблицу, но а как же удобство заполнения табелей. Вроде и понимаю, что значит плоская таблица, но в то же время, не понимаю как ее удобно интегрировать, учитывая наши потребности.
Цитата
будет автоматом заливаться в вышеупомянутые программы
Это глобальный проект, его старт намечен на конец этого года. Текущие вопросы, для легкого ускорения, без лишних проблем.
Цитата
в инете уже полно информации и видео например вот
Спасибо. Изучу.
Цитата
Только макросом - но это уже совсем другой вопрос = другая тема. Ищите на форуме уже были схожие темы
Ищу, но пока не нашел. Может есть секретный тег?
SLAVICK,
Цитата
Данные меняются за закрытые(прошлые) периоды?
Понял. Нет, данные не изменяются.
Цитата
Вася Петров, в справочнике сотрудников имеет свой УНИКАЛЬНЫЙ ИД - и еще кучу другой информации как то дата приема на работу, дата увольнения, флаг работает/не работает...имея такой справочник в два клика можно получить список работающих сотрудников в конкретном магазине.
Теоретически предположим, что мы создали плоскую таблицу, но а как же удобство заполнения табелей. Вроде и понимаю, что значит плоская таблица, но в то же время, не понимаю как ее удобно интегрировать, учитывая наши потребности.
Цитата
будет автоматом заливаться в вышеупомянутые программы
Это глобальный проект, его старт намечен на конец этого года. Текущие вопросы, для легкого ускорения, без лишних проблем.
Цитата
в инете уже полно информации и видео например вот
Спасибо. Изучу.
Цитата
Только макросом - но это уже совсем другой вопрос = другая тема. Ищите на форуме уже были схожие темы
Ищу, но пока не нашел. Может есть секретный тег?EvgeniyVS