Помощь в Exel

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Виктория21
Сообщения: 1
Зарегистрирован: 15 ноя 2015, 13:50

15 ноя 2015, 13:53

Как в Exel для перечня дат справа расположить текст "Это текущая неделя!" для всех дней текущей недели.
pashulka
Сообщения: 831
Зарегистрирован: 24 ноя 2004, 03:46
Контактная информация:

16 ноя 2015, 01:23

Если речь идёт о программе Excel и все даты принадлежат одному году, то предположим, что они в ячейках столбца A, тогда во всех смежных ячейках столбца B, следующая формула :

Код: Выделить всё

=ЕСЛИ(НОМНЕДЕЛИ(A1;2)=НОМНЕДЕЛИ(ТДАТА();2);"Это текущая неделя";"")
P.S. Если после ввода формулы, Вы получите #ЗНАЧ! или #ИМЯ? , то в Вашей версии необходимо подключить надстройку Пакет анализа.


Если же нужно учесть и "переход" на предыд./послед. год, то можно определить первый и последний день текущей недели

Код: Выделить всё

=СЕГОДНЯ()-ДЕНЬНЕД(СЕГОДНЯ();2)+1
=СЕГОДНЯ()-ДЕНЬНЕД(СЕГОДНЯ();2)+7
и если выбранная дата попадает в этот интервал, значит мы на правильном пути.

Код: Выделить всё

=ЕСЛИ(И(A1>=СЕГОДНЯ()-ДЕНЬНЕД(СЕГОДНЯ();2)+1;A1<=СЕГОДНЯ()-ДЕНЬНЕД(СЕГОДНЯ();2)+7);"Это текущая неделя";"")
При желании, формулу можно немного уменьшить, например :
- определить последний день предыдущей недели и первый день следующей, что позволит нам избавиться от =
- кроме этого, для дня недели можно использовать ТДАТА, которая, кроме даты возвращает ещё и время, но зато более лаконична.

Код: Выделить всё

=ЕСЛИ(И(A1>СЕГОДНЯ()-ДЕНЬНЕД(ТДАТА();2);A1<СЕГОДНЯ()-ДЕНЬНЕД(ТДАТА();2)+8);"Это текущая неделя";"")
Ответить