주어진 날짜 이후 다음 월요일을 계산하는 방법?


11

날짜가 포함 된 셀 값을보고 해당 월요일 이후 첫 월요일을 반환 할 수있는 수식을 찾고 있습니다.

예 (MM / dd / yyyy 형식) :

10/22/2013 (Tuesday) would return 10/28/2013 (Monday)
10/28/2013 (Monday)  would return 10/28/2013 (Monday)

답변:


15

B2날짜를 포함하는 셀을 보자 .

=IF(WEEKDAY(B2)=2, B2, IF(WEEKDAY(B2)=1,B2+1, B2+9-WEEKDAY(B2)))

또는

=IF(WEEKDAY(B2,3)=0, B2, B2+7-WEEKDAY(B2,3))

3

조금 더 우아한 해결책은 각 입력을 적절한 일수만큼 이동시키는 것입니다.

=B2+MOD(9-WEEKDAY(B2),7)

당신이 영리하기를 원한다면, 우리는 에포크가 토요일에 떨어 졌다는 것을 알기 때문에 WEEKDAY는 필요하지 않습니다 (WEEKDAY (0)을 계산하여 이것을 확인하십시오)

=B2+MOD(9-B2,7)

1

특정 요일 (N-day)에 작동하는 일반적이고 우아한 솔루션 :

Cell B2: 다음 주 N 일로 변경되는 날짜; Cell B3: 다음주의 N-day : Mon = 1, Tue = 2, ...;

=B2+MOD(B3-WEEKDAY(B2,2),7)

특정 요일 (이 경우 월요일 (day = 1))의 경우 수식을 '하드 코딩'할 수 있습니다.

=B2+MOD(1-WEEKDAY(B2,2),7)

weekday의 두 번째 매개 변수를 '2'로 설정하면 weekday(B2,2)위의 수식 (셀 B1)에 사용 된 원하는 N 일과 일치하는 요일, 즉 Mon = 1, Tue = 2, ...이 반환됩니다.


0

Franck의 솔루션은 월요일에는 완벽하지만 다른 날에는 작동하지 않습니다 (두 번째 공식 만 테스트했습니다). 그러나 다음 수식은 다른 날에는 작동합니다. B2는 날짜이고 B3은 날짜입니다 (B3은 1-7이며 일요일은 1 임).

=IF(WEEKDAY(B2,1)<B3, B2+B3-WEEKDAY(B2,1), B2+B3+7-WEEKDAY(B2,1))

참고 : B2가 요청 된 날짜 인 경우에도 다음 날을 찾을 수 있습니다. 그러나 B2가 요청 된 날이면 다음 수식이 오늘 반환됩니다.

=IF(WEEKDAY(B2,1)<=B3, B2+B3-WEEKDAY(B2,1), B2+B3+7-WEEKDAY(B2,1))
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.