Страницы: 1
RSS
УФ даты и времени в зависимости от NOW()
 
Добрый день.

Сломал голову,имеется столбец в формате даты и времены.Время всегда фиксированно , в сутках 8 диапазонов см. ниже.
Мне нужно с помощью УФ выделить в столбец те ячейки которые соответствуют критериям:
1) Если NOW() в диапазоне с 08:00 текущей даты и до 20:00 включительно , то выделять строчки раные текущей дате и времени с 08:00 до 17:00 включительно.
2) Если NOW() в диапазоне с 20:01 текущей даты и до 07:59 включительно , то выделять строчки равные текущей дате до 00:00 и следующей дате с 00:01 до 07:59 ,т.е  с 20:01 до 07:59 включительно.

С первым кейсом ничего сложного, но вот ночной диапазон с 20:01 до 07:59...
8:00
11:00
14:00
17:00
20:00
23:00
2:00
5:00
8:00
 
Цитата
restation написал:  Если NOW() в диапазоне с 20:01 текущей даты и до 07:59 включительно
NOW() ВСЕГДА в диапазоне текущей даты! После 0 часов - это опять будет текущая дата
 
Предлагаю так
Не перестаю удивляться возможностям excel и VBA.
 
см.вложение
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
vikttur написал: NOW()  ВСЕГДА в диапазоне текущей даты!
Согласен , не правильно ТЗ нарисовал , но смысл понятен.

Shama, В Вашем варианте УФ светит и с 08:00 до 17:00 и с 20:00.нужна привязка к текущему времени суток

Ігор Гончаренко, Ваш вариант смотрю, первый раз вижу такую реализацию.....
 
после 20:00, посчитайте что-нибудь, посмотрите как УФ перескочит на другие временные метки
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко,  и хочу это посмотреть:) не очень хочется в винде время менять..
 
Ігор Гончаренко,
Маленькая неточность , время уже больше 20:00 , выделяет и значения 23/04 08:00 , а мне нужно чтобы только до  23/04 05:00 включительно.
Что поправить нужно?

UPD:  в самом правиле равно убрать

Скрытый текст
Изменено: restation - 22.04.2021 21:45:13
 
если равно убрать, то завтра после 8 17:00 не будет отмечено

а следующий пересчет в 24:00, когда затра станет сегодня))
правильнее будет = оставить как было
а В3 в диспетчере имен записать как
Код
=СЕГОДНЯ()+ЕСЛИ(И(В2>=1/3;В2<5/6);17/24;ЕСЛИ(В2<1/3;1/3;4/3)-1/86400)
Изменено: Ігор Гончаренко - 22.04.2021 22:10:02
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко,Спасибо, все работает. Если честно я логику  не совсем понял.А "разжевывать" Вы наврятли будете:)
Страницы: 1
Наверх