첫 번째 화요일 계산 (Microsoft Excel)
Christine은 주어진 달의 첫 번째 화요일을 계산하는 방법이 필요합니다.
따라서 한 달과 1 년이 주어지면 첫 번째 화요일의 날짜를 가져와야합니다.
원하는 결과를 얻기 위해 사용할 수있는 몇 가지 다른 공식이 있습니다. 대부분의 접근 방식은 주어진 날짜에 대한 요일을 나타내는 숫자 값을 반환 할 수 있기 때문에 어떤 방식 으로든 WEEKDAY 함수를 사용합니다. A1 셀 (1-12)에 월을 입력하고 A2 셀에 4 자리 연도를 입력한다고 가정하면 다음 수식은 모두 해당 월의 첫 번째 화요일에 대한 날짜를 반환합니다. (가장 긴 것부터 가장 짧은 것까지 길이 순으로 수식을 정렬했습니다.)
=DATE(A2,A1,1)+IF(WEEKDAY(DATE(A2,A1,1))=3,0,IF(WEEKDAY(DATE(A2,A1,1))>3,7-WEEKDAY(DATE(A2,A1,1))+3,3-WEEKDAY(DATE(A2,A1,1)))) =IF(3-WEEKDAY(DATE(A2,A1,1))>=0,DATE(A2,A1,1)+3-WEEKDAY(DATE(A2,A1,1)),DATE(A2,A1,1)+7+3-WEEKDAY(DATE(A2,A1,1))) =DATE(A2,A1,1)+IF(3-WEEKDAY(DATE(A2,A1,1))>=0,3-WEEKDAY(DATE(A2,A1,1)),10-WEEKDAY(DATE(A2,A1,1))) =DATE(A2,A1,1)-WEEKDAY(DATE(A2,A1,1),1)+3+IF(WEEKDAY(DATE(A2,A1,1),1)>3,7,0) =DATE(A2,A1,1)+8-DAY(DATE(A2,A1,1))-WEEKDAY(DATE(A2,A1,1)-DAY(DATE(A2,A1,1))-2) =DATE(A2,A1,1)+3-WEEKDAY(DATE(A2,A1,1))+(1-(3>=WEEKDAY(DATE(A2,A1,1))))*7 =DATEVALUE(A2&"/"&A1&"/1")+MOD(10-WEEKDAY(DATEVALUE(A2&"/"&A1&"/1")),7) =DATE(A2,A1,MATCH(TRUE,WEEKDAY(DATE(A2,A1,{1,2,3,4,5,6,7}))=3,0)) =DATE(A2,A1,MOD(10-WEEKDAY(DATE(A2,A1,1)),7)+1) =DATE(A2,A1,1)+MOD(3-WEEKDAY(DATE(A2,A1,1)),7) =DATE(A2,A1,1)+7-WEEKDAY(DATE(A2,A1,1),13) =DATE(A2,A1,8-WEEKDAY(DATE(A2,A1,1),13)) =DATE(A2,A1,7)-MOD(DATE(A2,A1,7)-3,7) =DATE(A2,A1,8-WEEKDAY(DATE(A2,A1,5))) =DATE(A2,A1,8)-WEEKDAY(DATE(A2,A1,5))
평가하려는 월 내에서 날짜를 지정하는 것이 더 편리하다고 생각되면이를 고려하도록 공식을 수정할 수 있습니다. 다음은 A1 셀에 실제 날짜를 입력 할 때 사용할 수있는 몇 가지 수식입니다.
=DATE(YEAR(A1),MONTH(A1),MATCH(TRUE,WEEKDAY(DATE(YEAR(A1),MONTH(A1),{1,2,3,4,5,6,7}))=3,0)) =DATE(YEAR(A1),MONTH(A1),MOD(10-WEEKDAY(DATE(YEAR(A1),MONTH(A1),1)),7)+1) =DATE(YEAR(A1),MONTH(A1),1)+MOD(3-WEEKDAY(DATE(YEAR(A1),MONTH(A1),1)),7) =DATE(YEAR(A1),MONTH(A1),1)+7-WEEKDAY(DATE(YEAR(A1),MONTH(A1),1),13) =DATE(YEAR(A1),MONTH(A1),8-WEEKDAY(DATE(YEAR(A1),MONTH(A1),1),13)) =DATE(YEAR(A1),MONTH(A1),7)-MOD(DATE(YEAR(A1),MONTH(A1),7)-3,7) =DATE(YEAR(A1),MONTH(A1),8-WEEKDAY(DATE(YEAR(A1),MONTH(A1),5))) =DATE(YEAR(A1),MONTH(A1),8)-WEEKDAY(DATE(YEAR(A1),MONTH(A1),5)) =A1-DAY(A1)+7-WEEKDAY(A1-DAY(A1)-1,3)
마지막으로 매크로 기반 접근 방식을 고려할 수 있습니다. 다음은 첫 번째 화요일을 빠르게 파악하는 사용자 정의 함수입니다.
Function FirstTuesday(M As Integer, Y As Integer) As Date Dim dResult As Date dResult = DateSerial(Y, M, 1) Do While Weekday(dResult) <> vbTuesday dResult = DateAdd("d", 1, dResult) Loop FirstTuesday = dResult End Function
워크 시트에서해야 할 일은 원하는 숫자로 된 월과 연도를 사용자 정의 함수에 전달하는 것뿐입니다.
=FirstTuesday(6,2018)
원하는 경우 월과 연도를 셀에 포함하도록 지정할 수 있습니다.
=FirstTuesday(A2,A1)
_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.
이 팁 (13540)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다.