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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 31.10.2006, 08:00   #1
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию вычитание даты

БЕС
Мне надо узнать разницу между датами в количестве дней. Например: 05.05.2005 - 01.05.2005 = 4 дня. Как сделать, кто-нибудь знает?

plague
пусть
в ячейке A1 дата1,
в ячейке A2 дата2,
в ячейке A3 формула =A1-A2

Но ячейки A1 и A2 имеют формат дата
a ячейка A3 имеет формат общий или числовой.

geschtalt
Лучше все-таки принять один из стандартных форматов даты Excel. Наиболее часто используемый - ДД.ММ.ГГГГ.
Для этого выделяете диапазон ячеек и в меню Формат - ФОрмат ячейки выбираете указанный.
При вычитании дат (особенно в финансовых расчетах - к примеру, арендная плата за кол-во дней) помните, что в формуле после А1-В1 необходимо еще прибавить + 1. ТОгда будет реальное кол-во дней, за которые необходимо насчитать арендную плату...
zetrix вне форума
Старый 09.11.2006, 13:13   #2
kovamy
 
Регистрация: 09.11.2006
Сообщений: 3
По умолчанию функция

Написать функцию.
Вычислять через VB функцию DATEADD("d",date1,date2)
kovamy вне форума
Старый 10.11.2006, 03:16   #3
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Цитата:
Сообщение от kovamy Посмотреть сообщение
Написать функцию.
Вычислять через VB функцию DATEADD("d",date1,date2)

Я думаю, что для получении разности двух числовых значений, а дата в MS Excel это число дней прошедших с определённой точки отсчёта (которая зависит от настройки книги - система дат 1904) использовать VBA конечно же не нужно, ибо арифметический оператор - пока никто не отменял.
Но если применение функции жизненно необходимо, то существует функция =РАЗНДАТ() (которая весьма полезна, например, для подсчёта возраста человека, но может быть использована и в данном конкретном случае) т.е. если по каким-то причинам нельзя использовать формулу, типа ="05.05.2005"-"01.05.2005" то её можно заменить на =РАЗНДАТ("01.05.05";"05.05.05";"D")
Впрочем, есть одна задача, при решении которой, имеет смысл использовать функцию VB(A) DateDiff, но её нет в этом топике.
pashulka вне форума
Старый 10.11.2006, 06:30   #4
kovamy
 
Регистрация: 09.11.2006
Сообщений: 3
По умолчанию

День добрый!
Спасибо PASHULKA.
DateAdd - описка
Делал скрипт, где разные операции со временем.
Конечно - DateDiff.
Что касается =РАЗНДАТ().
Не было потребности - вот и не знал.
Конечно, если есть возвожность использовать встроенные функ., их надо использовать.
Тем более синтаксис =РАЗНДАТ() указывает на ее VB прототип.
kovamy вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Формат даты Green_C@t Общие вопросы Delphi 3 22.09.2009 10:05
Переопределение операций(сложение,вычитание...) master_root Общие вопросы Delphi 3 18.06.2008 20:20
Используя двоичное счисление, произвести вычитание freddy Помощь студентам 3 02.06.2008 22:41
Наращивание даты chekanoff Общие вопросы Delphi 5 28.02.2008 18:22
Даты не даты Nasya Microsoft Office Excel 3 22.08.2007 20:18