powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / excel. Операции с датами
15 сообщений из 15, страница 1 из 1
excel. Операции с датами
    #38746630
Frost_Imp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую!
Комрады, задача нетривиальная: нужно получить дату с тем же месяцем и числом, отстоящую от нужной на определенное количество лет?
То есть, к примеру, есть дата 01.01.1980. Нужно получить дату 01.01.2000. Формулы вида =A3+(20*365) не подходят, так как они не дадут нужный месяц и дату.
_____________________
А что на самом деле хотел сказать "Frost_Imp" никто не знает, так как администрация форума попросила его быть вежливым.
...
Рейтинг: 0 / 0
excel. Операции с датами
    #38746638
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чем же она нетривиальная?
функция DATEADD
...
Рейтинг: 0 / 0
excel. Операции с датами
    #38746642
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то сходу не нашел формульный эквивалент (может плохо искал)
Но можно так:
Код: plaintext
=ДАТА(ГОД(D1)+20;МЕСЯЦ(D1);ДЕНЬ(D1))
...
Рейтинг: 0 / 0
excel. Операции с датами
    #38746643
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно попроще
Код: plaintext
=ДАТАМЕС(D1;20*12)
...
Рейтинг: 0 / 0
excel. Операции с датами
    #38746647
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Frost_ImpОперации с датамии вообще
...
Рейтинг: 0 / 0
excel. Операции с датами
    #38746653
Frost_Imp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прибавить 7305.
Предыдущий вопрос неактуален
...
Рейтинг: 0 / 0
excel. Операции с датами
    #38746664
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Frost_ImpПрибавить 7305.в некоторых случаях это даст неверный результат. Не говоря о том, что это не общее решение и справедливо только для 20
...
Рейтинг: 0 / 0
excel. Операции с датами
    #38746704
Frost_Imp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, я понимаю.
Я вот что пытаюсь сделать...
Есть следующие даты: текущая дата, дата рождения и даты смены паспорта. Человек обязан менять паспорт в 20 и 45 лет.
Я пытаюсь нарисовать методику определения действительности паспорта человека на произвольную дату. В экселе это получилось.
Но переложить это нужно будет в PL SQL, в котором (скорее всего) операторов дат не будет. И оперировать придется разницами дат. Вот я и пытаюсь понять диапазоны разниц дат, при которых утверждение о действительности паспорта будет верным или не верным.
Никак не ухвачу методику за хвост, хотя она, кажется, лежит на поверхности.
...
Рейтинг: 0 / 0
excel. Операции с датами
    #38746728
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Р=Дата рождения
П=Дата смены паспорта
С=Сегодня
заранее предполагается, что данные корректны: Р < П <= С

Действителен=ЕСЛИ (С < Р + 20) ИЛИ (С < Р + 45 И П >= Р + 20) ИЛИ (П >= Р + 45)

Кажется так. Не проверял и не заглядывал в ваш файл )
...
Рейтинг: 0 / 0
excel. Операции с датами
    #38746736
Frost_Imp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro, да нет. Вернее - да :) Для excel, у которого есть функции работы с датами, вопрос решен. Что делать, если с датами придется работать, как с числами?
...
Рейтинг: 0 / 0
excel. Операции с датами
    #38746747
Frost_Imp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, плюс к этому в той оракловской базе дата 01.01.1980 хранится как 19800101, число. Проще с ним работать, как с числом. Наверное
...
Рейтинг: 0 / 0
excel. Операции с датами
    #38746768
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Frost_Impдата 01.01.1980 хранится как 19800101, числоС этого надо было начинать. Это странно и глупо. Вы можете перейти на нормальные поля дат?
...
Рейтинг: 0 / 0
excel. Операции с датами
    #38746854
Frost_Imp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
это не моя база :)
...
Рейтинг: 0 / 0
excel. Операции с датами
    #38746879
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну тогда надо сделать функцию преобразования этого числа в дату и оперировать функциями даты.
...
Рейтинг: 0 / 0
excel. Операции с датами
    #38748659
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем преобразовывать в даты такие красивые числа?
Я ведь уже как-то говорил, что мы придумывали там 13903561 как раз для определения возраста? Здесь получится ещё проще (именно используя то, что предложил Шокер):
Код: vbnet
1.
2.
3.
ВОЗРАСТ = INT((СЕГОДНЯ-ДАТАРОЖДЕНИЯ)/10000)
ПАСПОРТ = INT((ДАТАПАСПОРТА-ДАТАРОЖДЕНИЯ)/10000)
ДЕЙСТВИТЕЛЕН = (ВОЗРАСТ<20) ИЛИ (ВОЗРАСТ<45 И ПАСПОРТ>=20) ИЛИ (ПАСПОРТ>=45)
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / excel. Операции с датами
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]