У меня есть две колонки, которые называются
1-я колонка Календарная дата:
16/02/2015
2-й столбец, предыдущий день:
Yes
Формула, которую я сейчас использую:
if([calendar Date])=today-1,"YES","NO").
Второй столбец возвращает значение на основе первого столбца.
Однако проблема, с которой я сталкиваюсь, заключается в том, что когда я запускаю данные в понедельник, когда у нас есть календарная дата (день в пятницу), отображается «НЕТ», поскольку формула возвращает данные только за предыдущий день.
Итак, я хочу что-то вроде этого. Только когда я запускаю в понедельник, он должен мне выдать if([calendar Date])=today-3,"YES","NO"). И все остальные рабочие дни if([calendar Date])=today-1,"YES","NO")
Не могли бы вы мне помочь?
решение1
Вы хотите, чтобы пятница и суббота интерпретировались как воскресенье (день перед понедельником).
=IF(
IF(WEEKDAY(A2) = 6, <-- Friday
A2 + 2, <-- Becomes Sunday
IF(WEEKDAY(A2) = 7, <-- Saturday
A2 + 1, <-- Becomes Sunday
A2 <-- Unadjusted
)
) = TODAY() - 1,
"YES",
"NO"
)
Эта формула не сработает, если, скажем, вы читаете отчет в субботу, поскольку с точки зрения формулы суббота имеет 0 вчерашних дней и 2 завтрашних дня.
Не прокомментировано:
=IF( IF(WEEKDAY(A2)= 6, A2 + 2, IF(WEEKDAY(A2) = 7, A2 + 1, A2)) = TODAY() - 1, "YES", "NO")
решение2
ИспользоватьРАБОЧИЙ ДЕНЬФункция для if
.
РАБОЧИЙ ДЕНЬвозвращает дату, используяДата началаиколичество_рабочих_днейкак аргументы (так что пропускает выходные). В вашем случае вы должны взять [календарную дату] какДата начала, иколичество_рабочих_днейустановите значение 1. Проверьте, равен ли результат WORKDAY с этими аргументами сегодняшней дате, и установите для ячейки значение «ДА».
Кроме того, вы можете передавать даты праздников в функцию РАБДЕНЬ, чтобы учитывать праздники как нерабочие дни.
Поместите в ячейку что-то вроде этого:
=IF(WORKDAY([Calendar Date];1)=TODAY();"YES";"NO")