Здравствуйте! Подскажите пожалуйста, как написать формулу для определения даты начала отсчета трудового стажа, если он (стаж) известен на определенную дату (в примере на 01.01.2019). Решения, которое бы не давало ошибку, в поиске не встретил. Попробовал вычитать из 01.01.2019 количество известных лет, месяцев и дней - в половине случаев даёт ошибку в 1-2 дня.
Здравствуйте! Подскажите пожалуйста, как написать формулу для определения даты начала отсчета трудового стажа, если он (стаж) известен на определенную дату (в примере на 01.01.2019). Решения, которое бы не давало ошибку, в поиске не встретил. Попробовал вычитать из 01.01.2019 количество известных лет, месяцев и дней - в половине случаев даёт ошибку в 1-2 дня.aequit
Спасибо, теперь все работает, обратную проверку проходит.
p.s. Рано обрадовался - не всё так просто с датами - проблема 28 февраля Что 1, что 2, 3 и 4 дня дают в итоге 28 февраля. И почему-то
Код
= РАЗНДАТ(E9;$A$1;"md")
неправильно отображает дни, если 30 день месяца (и при этом это последний день месяца). [p.s.2] Интересно, все встреченные Excel-калькуляторы и многочисленные статьи на эту тему основаны на формуле:
Но стаж работы с 28 февраля по 01 апреля равен 1 месяцу и 4 дням согласно этой формуле. Правильно будет 1 месяц и 2 дня.
Спасибо, теперь все работает, обратную проверку проходит.
p.s. Рано обрадовался - не всё так просто с датами - проблема 28 февраля Что 1, что 2, 3 и 4 дня дают в итоге 28 февраля. И почему-то
Код
= РАЗНДАТ(E9;$A$1;"md")
неправильно отображает дни, если 30 день месяца (и при этом это последний день месяца). [p.s.2] Интересно, все встреченные Excel-калькуляторы и многочисленные статьи на эту тему основаны на формуле:
aequit, это достаточно серьезная и часто возникающая проблема и здесь очень важно знать методику расчета чисел имеющегося стажа. Откуда взялись 10 месяцев и 3 дня? Кто сказал, что у человека именно такой стаж? Для текущей даты 01.01.2019 это невозможно
А теперь давайте посчитаем на пальцах Пусть работник зачислен в штат 28.02.2018, а сейчас 01.01.2019 Кол-во дней работы = 1-28+1=-26. Поскольку значение меньше нуля, то прибавляем к нему 30 дней из предыдущего месяца, получаем 1-28+1+30=4 дня стажа Кол-во месяцев = 1-2-1 (-1 мы перенесли на дни) = -2. Поскольку отрицательно, то прибавляем 12 месяцев из предыдущего года, получаем 1-2-1+12 = 10 Кол-во лет = 2019-2018-1 (-1 перенесли на месяцы) = 0 Итог - между нашими датами 0 лет 10 месяцев и 4 дня
Легко видеть, что при дате зачисления 27.02.2018 мы получим все то же самое, но не 4 дня, а 5
А при дате зачисления 01.03.2018 мы получим уже совсем иной расчет Дни = 1-1+1=1 Месяцы = 1-2+12=11 годы = 2019-2018-1=0 Итог: 0 лет 11 месяцев 1 день Вывод - при указанной в условии начальной дате 01.01.2019 и дате расчета 01.01.2019 НЕ МОЖЕТ БЫТЬ стажа 0 лет 10 месяцев и 1, 2 или 3 дня
Точно такой же расчет при приеме на работу 30.04.2018 Дни = 1-30+1+30=2 Месяцы = 1-4-1+12=8 годы = 2019-2018-1=0 Все верно, действительно 2 дня
А вот если прием на работу был 01.05.2018, то вот тогда функция РАЗНДАТ считает неверно. При втором аргументе "md" она дает результат 0 дней, а должно быть 1-1+1=1 день
aequit, это достаточно серьезная и часто возникающая проблема и здесь очень важно знать методику расчета чисел имеющегося стажа. Откуда взялись 10 месяцев и 3 дня? Кто сказал, что у человека именно такой стаж? Для текущей даты 01.01.2019 это невозможно
А теперь давайте посчитаем на пальцах Пусть работник зачислен в штат 28.02.2018, а сейчас 01.01.2019 Кол-во дней работы = 1-28+1=-26. Поскольку значение меньше нуля, то прибавляем к нему 30 дней из предыдущего месяца, получаем 1-28+1+30=4 дня стажа Кол-во месяцев = 1-2-1 (-1 мы перенесли на дни) = -2. Поскольку отрицательно, то прибавляем 12 месяцев из предыдущего года, получаем 1-2-1+12 = 10 Кол-во лет = 2019-2018-1 (-1 перенесли на месяцы) = 0 Итог - между нашими датами 0 лет 10 месяцев и 4 дня
Легко видеть, что при дате зачисления 27.02.2018 мы получим все то же самое, но не 4 дня, а 5
А при дате зачисления 01.03.2018 мы получим уже совсем иной расчет Дни = 1-1+1=1 Месяцы = 1-2+12=11 годы = 2019-2018-1=0 Итог: 0 лет 11 месяцев 1 день Вывод - при указанной в условии начальной дате 01.01.2019 и дате расчета 01.01.2019 НЕ МОЖЕТ БЫТЬ стажа 0 лет 10 месяцев и 1, 2 или 3 дня
Точно такой же расчет при приеме на работу 30.04.2018 Дни = 1-30+1+30=2 Месяцы = 1-4-1+12=8 годы = 2019-2018-1=0 Все верно, действительно 2 дня
А вот если прием на работу был 01.05.2018, то вот тогда функция РАЗНДАТ считает неверно. При втором аргументе "md" она дает результат 0 дней, а должно быть 1-1+1=1 день_Boroda_
Не соглашусь с Вами. Есть Письмо Фонда социального страхования РФ от 30 октября 2012 г. № 15-03-09/12-3065П “О расчете страхового стажа”, согласно которому "При расчете страхового стажа перевод каждых 30 дней указанных периодов в полные месяцы, а каждых 12 месяцев этих периодов в полные годы предусматривается только для неполных календарных месяцев и неполных календарных лет". Следовательно, никаких прямых арифметических действий с днями и месяцами делать не нужно. При дате зачисления 28.02.2018 и дате увольнения 01.04.2018 стаж составит 1 месяц и 2 дня (месяц - это отработанный целиком календарный март, 2 дня - это 28 февраля и 01 апреля). Соответственно, при дате зачисления 28.02.2018 и дате увольнения 01.01.2019 стаж составит 10 месяцев (это календарные полностью отработанные месяцы с марта по декабрь включительно) и 2 дня - (28.02.2018 и 01.01.2019). Так считают многочисленные онлайн-калькуляторы трудового стажа, только что перепроверил выше написанное. Ими и пользуются кадровики (как мне на работе сказали, что вручную никто стаж не считает, открывают в интернете калькулятор и вперёд).
Вообще, меня попросили рассчитать по имеющемуся стажу, который выгружают из 1С на дату 01.01.2019 дату, когда у работника будет стаж 1, 3, 5, 10 и 15 лет (чтобы изменить надбавку). Вот и пытаюсь изобрести формулу, которая будет по стажу на дату выгрузки определять дату отсчета (к которой прибавить годы легко). Тут ещё сложность в том, что неизвестно, по какому алгоритму в 1С считают стаж...
Не соглашусь с Вами. Есть Письмо Фонда социального страхования РФ от 30 октября 2012 г. № 15-03-09/12-3065П “О расчете страхового стажа”, согласно которому "При расчете страхового стажа перевод каждых 30 дней указанных периодов в полные месяцы, а каждых 12 месяцев этих периодов в полные годы предусматривается только для неполных календарных месяцев и неполных календарных лет". Следовательно, никаких прямых арифметических действий с днями и месяцами делать не нужно. При дате зачисления 28.02.2018 и дате увольнения 01.04.2018 стаж составит 1 месяц и 2 дня (месяц - это отработанный целиком календарный март, 2 дня - это 28 февраля и 01 апреля). Соответственно, при дате зачисления 28.02.2018 и дате увольнения 01.01.2019 стаж составит 10 месяцев (это календарные полностью отработанные месяцы с марта по декабрь включительно) и 2 дня - (28.02.2018 и 01.01.2019). Так считают многочисленные онлайн-калькуляторы трудового стажа, только что перепроверил выше написанное. Ими и пользуются кадровики (как мне на работе сказали, что вручную никто стаж не считает, открывают в интернете калькулятор и вперёд).
Вообще, меня попросили рассчитать по имеющемуся стажу, который выгружают из 1С на дату 01.01.2019 дату, когда у работника будет стаж 1, 3, 5, 10 и 15 лет (чтобы изменить надбавку). Вот и пытаюсь изобрести формулу, которая будет по стажу на дату выгрузки определять дату отсчета (к которой прибавить годы легко). Тут ещё сложность в том, что неизвестно, по какому алгоритму в 1С считают стаж...aequit
Вопрос подсчета стажа действительно очень непростой и дело не в математике или сложности формул. Проблема в определении методики. В альтернативную реальность нас переносит Письмо Фонда социального страхования РФ от 19 сентября 2018 г. N 02-08-01/1704-10681л С 2012 года многим казалось, что единственный разумный алгоритм подсчета: "из каждого периода сначала выделяются целые годы, затем целые месяцы и отдельно дни,затем складываются годы всех периодов, отдельно месяцы всех периодов и отдельно дни всех периодов,затем каждые 30 дней преобразуются в месяц и прибавляются к месяцам,затем каждые 12 месяцев преобразуются в год и прибавляются к годам, оставшиеся дни (менее 30) остаются днями. Он же был разъяснён в Письме ФСС от 30 октября 2012 года № 15-03-09/12-3065П".
Должностные лица ФСС не читают свои письма с ранее данными разъяснениями по таким же проблемам? Как работать? Пусть с 01.01.2018 по 31.12.2018 будет 1 год и 5 дней? А стаж с 28.02.2018 по 01.04.2018 будет 1 месяц и 4 дня?
В Письме Фонда социального страхования РФ от 19 сентября 2018 г. N 02-08-01/1704-10681л результат в примере совпадает с "методом деления" - считается количество дней и делится на 30, количество полученных месяцев делится на 12.
Самого главного пока мне реализовать не удалось - как сделать обратное преобразование, когда известен стаж на конечную дату и нужно найти начальную дату (все варианты в некоторых случаях не совпадают с результатом из 1С, какой там применяется метод расчета стажа, ещё не выяснил).
Вопрос подсчета стажа действительно очень непростой и дело не в математике или сложности формул. Проблема в определении методики. В альтернативную реальность нас переносит Письмо Фонда социального страхования РФ от 19 сентября 2018 г. N 02-08-01/1704-10681л С 2012 года многим казалось, что единственный разумный алгоритм подсчета: "из каждого периода сначала выделяются целые годы, затем целые месяцы и отдельно дни,затем складываются годы всех периодов, отдельно месяцы всех периодов и отдельно дни всех периодов,затем каждые 30 дней преобразуются в месяц и прибавляются к месяцам,затем каждые 12 месяцев преобразуются в год и прибавляются к годам, оставшиеся дни (менее 30) остаются днями. Он же был разъяснён в Письме ФСС от 30 октября 2012 года № 15-03-09/12-3065П".
Должностные лица ФСС не читают свои письма с ранее данными разъяснениями по таким же проблемам? Как работать? Пусть с 01.01.2018 по 31.12.2018 будет 1 год и 5 дней? А стаж с 28.02.2018 по 01.04.2018 будет 1 месяц и 4 дня?
В Письме Фонда социального страхования РФ от 19 сентября 2018 г. N 02-08-01/1704-10681л результат в примере совпадает с "методом деления" - считается количество дней и делится на 30, количество полученных месяцев делится на 12.
Самого главного пока мне реализовать не удалось - как сделать обратное преобразование, когда известен стаж на конечную дату и нужно найти начальную дату (все варианты в некоторых случаях не совпадают с результатом из 1С, какой там применяется метод расчета стажа, ещё не выяснил).aequit
Сообщение отредактировал aequit - Понедельник, 28.01.2019, 12:54