엑셀 프로그램 > 엑셀간트 사용법 > [엑셀간트 사용법 16] 작업 의존관계 설정

[엑셀간트 사용법 16] 작업 의존관계 설정

엑셀간트 5.0 버전부터 날짜 필드에 수식을 입력할 수 있습니다. 이번 글에서는 수식 입력 기능을 사용하여 작업 의존관계를 설정하는 방법을 알아 보겠습니다.

작업 의존관계 설정

날짜에 기간을 더해서 작업 의존관계 설정

아래 그림의 '프로그램B'의 시작일 필드 [P41] 셀에 다음 수식을 입력하면 작업 의존 관계를 설정할 수 있습니다.

=Q40+1 => 2022-07-30 ('프로그램A'의 완료일에 1을 더해서 완료일 다음날을 '프로그램B'의 시작일로 설정)

날짜에 기간을 더해서 작업 의존관계 설정

 

수식이 입력되면 2022-07-29의 다음 날인 2022-07-30(토요일)이 시작일로 표시됩니다.  단순히 기간을 더하기만 하므로 휴무일, 평일 구분하지 않고 시작일이 구해지는 문제가 있습니다.

날짜에 기간을 더해서 작업 의존관계 설정

 

엑셀간트 GetWorkday 함수로 작업 의존관계 설정

엑셀간트 5.0.0 버전부터 엑셀간트 환경설정에 지정된 휴무일을 제외하고 실제 근무일만 포함하여 작업 의존관계를 설정하고 작업일을 계산할 수 있도록 사용자정의함수 GetWorkday를 제공합니다.

구문(Syntax)

GetWorkday

GetWorkday(pre_task_date, [days])

선행 작업의 날짜에서 지정된 작업 일수 이후의 날짜를 구해준다(엑셀간트 캘린더에 지정된 휴무일은 작업일에서 제외).

인수 :

  • pre_task_date : 선행 작업의 날짜(시작일 또는 완료일)
  • days : lead 또는 lag할 작업 일수(생략시 0이 기본값으로 설정됨, 양수는 lag, 음수는 lead)

작업 의존관계 :

  • FS(Finish-to-Start) : 선행작업의 완료일을 pre_task_date로 설정하고 후행작업의 시작일을 구할 때
  • SS(Start-to-Start) : 선행작업의 시작일을 pre_task_date로 설정하고 후행작업의 시작일을 구할 때
  • FF(Finish-to-Finish) : 선행작업의 완료일을 pre_task_date로 설정하고 후행작업의 완료일을 구할 때
  • SF(Start-to-Finish) : 선행작업의 시작일을 pre_task_date로 설정하고 후행작업의 완료일을 구할 때

FS(Finish-to-Start, 선행작업 완료 후 후행작업 시작 ) 예시

'프로그램B'의 시작일 필드 [P41] 셀에 다음 수식을 입력하면 휴무일을 제외하고 작업 의존 관계를 설정할 수 있습니다.

=GetWorkday(Q40) => 20222-08-01(휴무일은 제외하고 '프로그램A'의 완료일 다음날을 '프로그램B'의 시작일로 설정)

엑셀간트 GetWorkday 함수로 작업 의존관계 설정

엑셀간트 GetWorkday 함수로 작업 의존관계 설정

 

의존관계가 설정되면 간트차트에서 작업 간의 연결선이 표시됩니다.

엑셀간트 GetWorkday 함수로 작업 의존관계 설정

 

FS Lag (FS+2days) 예시

다음과 같이 수식을 입력하면 '프로그램B'의 시작일을 2일 지연 시켜서 2022-08-03에 시작하도록 합니다.

=GetWorkday(Q40,2) => 2022-08-03

FS Lag (FS-2days) 예시

 

 

작업 완료일 계산

시작일에 기간을 더해서 완료일 계산

'프로그램A' 작업의 완료일을 다음과 같이 계산할 수 있으나, 작업기간에 휴무일도 포함되는 문제점이 있습니다.

=P40+10 => 2022-07-28 (휴무일을 제외하면 실제 작업기간은 9일)

시작일에 기간을 더해서 완료일 계산

 

엑셀간트 GetFinishDate 함수로 완료일 계산

엑셀간트 5.0.0 버전부터 엑셀간트 환경설정에 지정된 휴무일을 제외하고 실제 근무일만 포함하여 작업완료일을 계산할 수 있도록 사용자정의함수 GetFinishDate를 제공합니다.

구문(Syntax)

GetFinishDate

GetFinishDate(start_date, [days])

작업의 시작일에서 지정된 작업 일수 이후의 날짜를 구해준다(엑셀간트 캘린더에 지정된 휴무일은 작업일에서 제외).

인수 :

  • start_date : 현재 작업의 시작
  • days : 작업 일수(생략 시 기본값은 1)

GetFinishDate 함수로 작업 완료일 계산 예시

=GetFinishDate(P40,10) => 2022-07-29 (휴무일을 제외하고 실제 작업기간 10일)

GetFinishDate 함수로 작업 완료일 계산 예시

 

기간 필드를 추가하여 작업 완료일 계산 예시

다음과 같이 기간 필드를 추가하여 기간을 참조하여 완료일을 계산할 수도 있습니다.

=GetFinishDate(Q40,P40) => 2022-07-29 (휴무일을 제외하고 실제 작업기간 10일)

기간 필드를 추가하여 작업 완료일 계산 예시

 

 

기타

수식이 입력된 셀 확인하기

XLGantt 리본메뉴에서 '수식셀 선택'을 클릭하면 수식이 입력된 셀을 한 번에 확인할 수 있습니다.

수식이 입력된 셀 확인하기

 

함수명 앞에 @ 표시

다음과 같이 함수명 앞에 @이 표시될 수 있습니다.

=@GetWorkday(R40)
@은 암시적 교차 연산자라고 합니다. 사용자 정의 함수가 다중 셀 범위를 반환할 수 있을 때 함수명 앞에 @이 표시될 수 있습니다.
GetWorkday, GetFinishDate함수는 다중 셀 범위를 반환하지 않지만 @이 표시됩니다. @ 표시 여부와 관계 없이 수식의 결과는 동일합니다. 사용자는 특별히 신경쓰지 않아도 됩니다.

수식을 입력할 때는 @은 입력하지 않아도 됩니다.

 

[ 엑셀간트 사용법 ]

엑셀웍스 책 출간 안내

그동안 엑셀웍스에 올린 '엑셀 강좌', '함수 사용법', 여러 '실무 예제'에서 핵심만 뽑아 '된다! 엑셀 수식 & 함수' 책으로 출간하였습니다.

엑셀웍스 책 출간안내  자세히 보기

온라인 구매처: 예스24   교보문고   알라딘 

“[엑셀간트 사용법 16] 작업 의존관계 설정”의 8개의 댓글

  1. GetFinishDate 함수 사용 시 순환참조 오류메세지가 나는데, 원인이 어떤 게 있을까요?
    함수는 바르게 사용한 것 같습니다.

  2. GetWorkday 사용시 여러작업이 완료되어서 하나의 작업이 이뤄질수있게 안될까요? /일정표에서 화살표가 여러 항목에서 한항목으로 이어지게끔 가능한지 문의드립니다.

  3. 의존 관계일때 간트차트의 화살표가 ㄹ자로 표현되는걸 ㄱ자로 바꾸는 기능은 없나요?

    1. task의 bar chart의 기간이 겹치면 구조적으로 ㄹ자로 표시될 수 밖에 없고요, 기간이 겹치지 않더라도 bar chart가 가까이 인접하면 ㄱ자가 아니라 자동으로 ㄹ로 표시됩니다.

댓글 남기기

Scroll to Top