Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2015, 07:17   #1
FoxRiver
Пользователь
 
Регистрация: 28.07.2008
Сообщений: 35
По умолчанию Выделить из количества дней - годы, месяцы и дни

Есть количество дней 10232 дня (стаж работы).
Надо узнать сколько это лет, месяцев и дней.
Программа по расчету стажа выдает 28 лет 0 месяцев 19 дней.

Просмотрел форум, не нашел...

Пример вложен.
Заранее спасибо.

Данные формулы выдают 28 лет 0 месяцев но не 19 дней, а 12
A1=10232
A2=ЦЕЛОЕ(A1/365) - количество лет
A3=ЦЕЛОЕ(ОСТАТ(A1;365)/30,5) - количество месяцев
A4=A1-A2*365-A3*30,5 - количество дней
Вложения
Тип файла: zip Пример.zip (7.8 Кб, 27 просмотров)

Последний раз редактировалось FoxRiver; 04.02.2015 в 07:21.
FoxRiver вне форума Ответить с цитированием
Старый 04.02.2015, 11:57   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

есть алгоритм - найдуться и значения, но по сути
10232-й день начиная с 01.01.1900 это 5.01.1928
из которого легко определить стаж
1928-1900 = 28 лет
1-1 = 0 месяцев
5 дней

а что вам нужно - не понимаю
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 04.02.2015, 13:38   #3
FoxRiver
Пользователь
 
Регистрация: 28.07.2008
Сообщений: 35
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
а что вам нужно - не понимаю
Мне нужно просто определить сколько полных лет месяцев и дней содержится в определенной сумме дней. В примере эта сумма была 10232. Данная сумма получена исходя из разности дат (дата прихода на работу и дата увольнения с работы - в примере в таблице указаны такие даты, причем работник после увольнения мог не работать какое-то время). Далее количество дней между датами суммируется. Теперь надо посчитать общий стаж работы, т.е. надо узнать сколько лет, месяцев и дней сотрудник имеет стаж. На работе программа официальная считает что 10232 это 28 лет 0 месяцев и 19 дней. При ручном подсчете (с помощью эксел) получается 19 дней, т.е. официальная программа считает правильно. В моем примере у меня получилось только 12 дней. В вашем 5 дней. Надо чтобы 19 было (в конкретном данном примере).

Последний раз редактировалось FoxRiver; 04.02.2015 в 13:53.
FoxRiver вне форума Ответить с цитированием
Старый 04.02.2015, 13:56   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

отлично.
зайдем с другой стороны.
допустим некто отработал непрерывно с 01.01.1987 по 05.01.2015
скажите мне сколько лет, месяцев, дней он отработал? (каков стаж в Ваших понятиях)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 04.02.2015, 14:32   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

давайте не будет "тянуть кота за резину"
для примера выше:
непрерывный стаж работы с 01.01.1987 по 05.01.2015
без программ, пользуясь простой логикой:
если бы отработал по 01.01.2015 это было бы 28 лет и 1 день (начальная и конечная дата - это отработанные дни)
так вот с 01.01.1987 по 05.01.2015 отработано
2015 - 1987 = 28 лет, 1-1 = 0 месяцев, 5-1+1 = 5 дней. так?
идем дальше
если человек работал с 01.02.2015 по 01.02.2015 - это сколько дней он отработал?, правильно 01.02.2015 - 01.02.2015 +1 = 1 день
возвращаемся к нашему примеру и теперь спросим Ексель сколько будет
05.01.2015 - 01.01.1987 + 1?
правильно 10232 дня?

выше мы выяснили что это 28 лет 0 месяцев и 5 дней

а не 28 лет 0 месяцев и 12 или 19 дней как насчитали Вы и Ваша официальная (правильно считающая) программа для суммарного стажа 10232 дня
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 04.02.2015, 15:50   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

ТС, в году в среднем ~365,25 дня (а не 365)
10232/365,25=28 лет и 5 дней в остатке

Если считать потом и месяца, то иметь ввиду, что в месяце в среднем ~ 30,4375 дня (а не 30,5 хотя это и не сильно отличается)
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 04.02.2015 в 16:04.
Аватар вне форума Ответить с цитированием
Старый 05.02.2015, 06:16   #7
FoxRiver
Пользователь
 
Регистрация: 28.07.2008
Сообщений: 35
По умолчанию

ОК спасибо всем за помощь
FoxRiver вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выделить каждые 2 дня (N дней) Sasha_Smirnov Помощь студентам 4 19.01.2011 21:54
Преобразование кол-ва дней в календарный период,т.е. год /месяц /дни alex__pro Microsoft Office Excel 3 28.12.2010 11:40
кол-во дней из периода учитывая празд. дни ramzan_s Microsoft Office Excel 9 14.12.2010 09:11
из диапазона двух выбранных дат, отдельно вывести(перечислить) дни, месяцы, годы Alex003 Помощь студентам 5 12.05.2010 22:03
Как преобразовать "17 лет 11 месяцев 9 дней" в месяца и дни??? axell_pnz Microsoft Office Excel 7 11.11.2009 12:20