Вычисления с датами в EXCEL...

Программирование на Visual Basic for Applications
vld
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 28.12.2004 (Вт) 15:51

Вычисления с датами в EXCEL...

Сообщение vld » 27.03.2006 (Пн) 19:40

Здавствуйте!

Вопрос таков: на листе в EXCEL представлены две даты, к примеру 01.05.2004 и 27.03.2006.

Как вычислить сколько лет, месяцев и дней между двумя этими датами?

Спасибо!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 27.03.2006 (Пн) 20:18

Смотря как именно считать.
Уточни правила вычисления.
Lasciate ogni speranza, voi ch'entrate.

vld
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 28.12.2004 (Вт) 15:51

Сообщение vld » 27.03.2006 (Пн) 20:27

Как считать в EXCEL я не знаю. Знал бы - не спрашивал. Считать можно можно как угодно, лишь бы на листе был результат - 1 год 9 месяцев 15 дней (ну или 1.09.15, или 15.09.1 - варианты любые). Что бы было более понятно: дата смерти - дата рождения = прожил ХХ лет ХХ месяцев ХХ дней (извиняюсь за черный пример)

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 27.03.2006 (Пн) 20:40

Я вообще не об этом спрашиваю.
Сколько месяцев прошло между 20 января и 10 февраля? Ноль, один или два? Сколько лет прошло между 10 февраля 2005 и 20 января 2006? Ноль или один?
Lasciate ogni speranza, voi ch'entrate.

vld
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 28.12.2004 (Вт) 15:51

Сообщение vld » 27.03.2006 (Пн) 20:45

Месяцев конечно же 0. (т.к. дней между этими датами - 21). Лет так же ноль.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 27.03.2006 (Пн) 20:59

А если дней между датами 29? Или 30?

Тебе надо считать календарные месяцы или число дней? Потому что если второе, то просто делишь число дней между датами на 30 и берешь целую часть. Если первое, то отдельно вычисляешь разницу в годах, разницу в месяцах, разницу в днях и из них выводишь результат. Для этого у тебя есть функции ГОД, МЕСЯЦ и ДЕНЬ. Разумеется, учитывая случаи, когда разница в месяцах (днях) получается отрицательной.
Если нужна просто разница в днях, то из одной даты вычитаешь вторую.
Lasciate ogni speranza, voi ch'entrate.

vld
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 28.12.2004 (Вт) 15:51

Сообщение vld » 27.03.2006 (Пн) 21:22

В принципе ясно. Буду думать...

Спасибо!!!!

Olga
Обычный пользователь
Обычный пользователь
 
Сообщения: 81
Зарегистрирован: 08.09.2004 (Ср) 8:49
Откуда: Москва

Сообщение Olga » 28.03.2006 (Вт) 16:43

А не пробовал использовать функцию DateDiff

например, считаем кол-во дней от 01/01/2001 по настоящий момент:
DateDiff("d",#01/01/01#,now())

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 28.03.2006 (Вт) 16:44

Число дней можно получить куда более простым способом, просто отняв одну дату от другой.
Lasciate ogni speranza, voi ch'entrate.

Olga
Обычный пользователь
Обычный пользователь
 
Сообщения: 81
Зарегистрирован: 08.09.2004 (Ср) 8:49
Откуда: Москва

Сообщение Olga » 28.03.2006 (Вт) 16:51

насколько я понимаю, дело не только в подсчете дней
с помощью этой функции можно посчитать нужный период (подробнее в help'е можно почитать)

а подходит или нет функция для данной конкретной цели, это только задающий вопрос знает

$€rg
Обычный пользователь
Обычный пользователь
 
Сообщения: 99
Зарегистрирован: 11.01.2006 (Ср) 10:15
Откуда: Санкт-Петербург

Сообщение $€rg » 28.03.2006 (Вт) 16:58

http://bbs.vbstreets.ru/viewtopic.php?p=154773#154773
а часы не будем переводить?
процесс печатания программного кода укрепляет моральные устои С. Каммингс VBA4Dummies
:study:


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 35

    TopList