1

Мне нужна формула, которая всегда будет возвращать следующий указанный день недели.

Например

IF(A1="A",RETURN NEXT FRIDAY, IF(A1="B",RETURN NEXT TUESDAY.....ETC

Причина, по которой мне это нужно, заключается в том, что у меня есть группа учетных записей, и у каждой из них есть определенная дата доставки, поэтому, если учетная запись была назначена группе A, они получат доставку по понедельникам, и если они были назначены группе B, доставка будет по вторникам и т. д.


Я думаю, что из этих примеров формула приведет к другому дню и дате, в зависимости от того, какой день "сегодня". Что мне нужно для каждой учетной записи в группе A по умолчанию на следующий понедельник, независимо от того, какой день недели это в настоящее время. Таким образом, группа А была бы сегодня +4, если это понедельник, но сегодня +3, если это вторник. Я надеюсь это имеет смысл.

2 ответа2

3

Вы можете использовать мое предложение из комментариев Скотта, чтобы получить на следующий день переменную часть, связанную с вашим письмом, поэтому, если "A" - понедельник, "B" вторник, "C" среда, "D" четверг и "E" пятница (и это единственные варианты) тогда вы можете использовать эту формулу, чтобы получить правильный следующий будний день

=TODAY()+8-WEEKDAY(TODAY()-MATCH(A1,{"A","B","C","D","E"},0))

Вначале вы сказали, что хотите исключить праздничные дни, но если A1 - "А", а следующий понедельник - выходной, каким днем должна быть доставка?

Если на следующий рабочий день после этого понедельника (независимо от дня недели) вы можете включить вышеуказанное в функцию WORKDAY следующим образом

=WORKDAY(TODAY()+8-WEEKDAY(TODAY()-MATCH(A1,{"A","B","C","D","E"},0))-1,1,H$1:H$10)

где праздники перечислены в H1:H10

Если вам всегда нужна доставка в понедельник, поэтому, если следующий понедельник - выходной, это должен быть следующий понедельник (или следующий понедельник, который не является выходным), тогда вы можете использовать функцию WORKDAY.INTL (доступно только в Excel). 2010 и позже)

=WORKDAY.INTL(C$1,1,REPLACE("1111111",MATCH(A1,{"A","B","C","D","E"},0),1,0),H$1:H$10)

1
WEEKDAY(some date)

возвращает день недели: воскресенье = 1, понедельник = 2, ..., суббота = 7.  Так

TODAY()-WEEKDAY(TODAY())

предыдущая суббота, так

TODAY()-WEEKDAY(TODAY())+2

понедельник этой недели (используйте 3, 4, 5 или 6 для вторника, ... Пятница).  Я пишу это во вторник, поэтому понедельник этой недели был вчера, а вторник этой недели сегодня.  Чтобы получить следующий (например, в следующий вторник), используйте

TODAY()-WEEKDAY(TODAY())+3 + IF(WEEKDAY(TODAY())>=3,7)

Удачи в пропущенных праздниках! :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .