1. FAQ
  2. 엑셀(Excel)
  3. AfterEffects
  4. Premiere
  5. Photoshop
  6. ETC

이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.

[레벨:30]아별

2009.07.20 16:38

IF문에 OR, DATE, YEAR, MONTH 함수를 조합한 중복함수가 필요하겠습니다.

D2셀에 아래의 수식을 입력하고 아래로 쭉 채우시면 됩니다.

=IF(OR(MONTH(C2)<3,C2=DATE(YEAR(C2),3,1)),DATE(YEAR(C2),3,1),IF(OR(MONTH(C2)<9,C2=DATE(YEAR(C2),9,1)),DATE(YEAR(C2),9,1),DATE(YEAR(C2)+1,3,1)))

 

위 수식과 같이 언뜻 보기에 복잡해 보이는 수식은 요소별로 끊어서 분석하시면 됩니다.

 

IF문의 기본 구조가 IF(조건식1, 참일때, 거짓일때) 인데요..
저 수식은 IF문을 중첩해서 사용한 것이지요.
거짓일때에는 특정 값 대신에 다시 IF문 ( 조건식2, 참일때, 거짓일때 ) 을 사용했네요.

결국 이런 형태가 되었습니다. IF(조건식1, 참일때, IF문( 조건식2, 참일때, 거짓일때 ) )

 

조건식1이 참이면, 참일때의 값을 갖고, 거짓이면 다시 조건식2를 평가해서 참일때는 참일때의 값, 거짓일때는 거짓일때의 값을 갖습니다.

 

조건식1은 OR(MONTH(C2)<3,C2=DATE(YEAR(C2),3,1)) 죠..
발령일자의 월이 3월 미만이거나 3월 1일자면 참이 되어서, 참일때의 값인 해당년도의 3월 1일( DATE(YEAR(C2),3,1) )이 됩니다.

 

발령일자가 3월 1일 이후라면.. 즉 거짓일때는.. 다시 9월 1일이전입사인지를 평가하고,
9월 1일 이전 입사자면 해당년도의 9월 1일이 되고, 이것도 저것도 아니면 내년도 3월 1일( DATE(YEAR(C2)+1,3,1) )이 됩니다.

 

 

첨부파일 다운 받기 : abyul_20090720_CalculateDate.xls

abyul_20090720_CalculateDate.jpg

 

문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)