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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2012, 09:44   #1
InfoR
 
Регистрация: 12.10.2012
Сообщений: 8
Восклицание Определить, есть ли одинаковые даты в заданном промежутке

есть два промежутка времени, например

01.01.2012 - 07.01.2012
и
06.01.2012 - 20.01.2012

если у этих промежутков дат есть общие даты, то 1, иначе 0
(в данном примере есть общие даты 06.01.2012 и 07.01.2012, значит должно быть 1)
как в excel это всё обозначить ?
InfoR вне форума Ответить с цитированием
Старый 12.10.2012, 10:01   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

В Экселе это нужно обозначить в файле.
А так думаю так - если нижняя дата одного диапазона <= верхней дате другого, а верхняя дата >= нижней другого, то пересечение есть.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 12.10.2012, 11:00   #3
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,448
По умолчанию

Верно
http://www.cyberforum.ru/ms-excel/th...ml#post3551413
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума Ответить с цитированием
Старый 12.10.2012, 11:15   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Обратите внимание - там спросил через 10 минут после моего ответа. 10 минут!
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 12.10.2012, 11:39   #5
InfoR
 
Регистрация: 12.10.2012
Сообщений: 8
По умолчанию

да, спасибо, всё понял
InfoR вне форума Ответить с цитированием
Старый 12.10.2012, 14:03   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

я давно задачу на пересение двух интервалов времени решаю так:
введем обозначения
И1С - интервал 1 старт
И1Ф - интервал 1 финиш
И2С - интервал 2 старт
И2Ф - интервал 2 финиш
обязательно предполагается, что старт меньше финиш (для каждого интервала)

Посчитайте Р = (и2с-и1ф)*(и2ф-и1с)
теперь если
Р < 0 - интервалы пересекаются
P = 0 - ннтервалы соприкасаются (один продолжает другой)
P > 0 - интервалы не пересекаются

хотите дальше:
если второй интервал нулевой длины, т.е. это точка, понятно что тогда и2с = и2ф, то если посчитанное формулой выше Р
< 0 - точка внутри интервала
= 0 - точка на границе
> 0 - точка за пределами
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вводится натуральное трехзначное число. Определить, есть ли среди цифр этого числа одинаковые (задание по Си++) dimazak2009 Помощь студентам 0 11.03.2012 20:47
5. Дано трехзначное число. Определить, есть ли среди его цифр одинаковые monokol Помощь студентам 1 24.12.2011 14:00
Генерация даты в заданном промежутке zver777 Общие вопросы Delphi 6 09.04.2010 09:33