728x90

NetWorkDays.Intl 3

[Excel] 휴일이면 이전/이후 근무일 찾기

EGTools 전용함수에 FindWorkDay 함수가 있는데, 이걸 순수한 Excel 함수로 구현하는 방법이 있어서 소개합니다. 이전 근무일 =MAX( INDEX( (날짜 ROW($A$1:$A$30)+1) * (NETWORKDAYS.INTL(날짜 - ROW($A$1:$A$30)+1, 날짜 - ROW($A$1:$A$30)+1, 1, 휴일목록)=1), ) ) 이후 근무일 =MIN( INDEX( (날짜 + ROW($A$1:$A$30)-1+100000) * (NETWORKDAYS.INTL(날짜 + ROW($A$1:$A$30)-1, 날짜 + ROW($A$1:$A$30)-1, 1, 휴일목록)=1), ) )+100000 원리를 간단하게 설명하면, INDEX를 이용해서 날짜를 기준으로 전/후 30일의 배열과, 전/후 ..

Excel - Sample 2023.10.10

특정일이 공휴일이면 이전/이후의 근무일 찾기 FindWorkDay

어느 날짜가 공휴일이면 이후 첫번째 근무일을 찾는 경우가 있습니다. 이를 함수로 구현해 봅니다. 함수의 인수로는 지정일자, 주말휴일, 공휴일 목록, 검색방향 4개를 사용합니다. 주말 휴일은 NetWorkDays.Intl함수에서와 같은 주말휴일 옵션을 사용합니다. Public Function FindWorkDay(StartDate As Date, _ Optional Weekend As Variant = 1, _ Optional Holidays As Variant, _ Optional Direction As Integer = 1) 내부적으로 사용할 변수를 지정합니다. Dim sWeekend As String '// 요일별 근무일/휴무일 지정 Dim vHolidays As Variant '// 휴일 목록 Di..

Excel - VBA 2023.07.27

FINDWORKDAY 함수

【 함수 요약 】 FindWorkDay함수는 기준일자 전/후의 첫번째 근무일을 검색합니다. 의미가 명확하게 이후일자를 검색하는 NextWorkDay()와 이전일자를 검색하는 PrevWorkDay() 함수로 사용 가능합니다. 이 함수는 EGTools 추가기능에서 지원하는 함수입니다. 【 적용 버전 】 Windows용 : 모든버전 【 함수 구문 】 = FINDWORKDAY ( StartDay , [ Weekend ] , [ Holidays ] , [ Direction ] ) 다음찾기 = NEXTWORKDAY ( StartDay , [ Weekend ] , [ Holidays ] ) 이전찾기 = PREVWORKDAY ( StartDay , [ Weekend ] , [ Holidays ] ) 【 함수 인수 】 ..

728x90