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

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

[레벨:30]아별

2013.02.04 19:44

성투은자님..

응용해서 사용하시기도 하시니 답변 드리는 재미가 있습니다. ^^

 

일단..

기준을 설정하면 나머지 영역에서 목록이 반복해서 나타내는 방법은..

MOD함수를 활용하시면 됩니다.

일자가 1부터 증가하니까요.. 그것을 이용해서..

일자가 1,2,3,4,5,6,7,8.... 로 증가할때..

숫자가 1,2,3,4,1,2,3,4,1,2,3,4... 반복되게 만들면 되는데요..

 

1씩 증가하는 숫자가 A1셀부터 시작한다고 할때..

아래 수식을 이용하면.. 1,2,3,0,1,2,3,0으로 반복이 됩니다.

=MOD(A1,4)

저걸 1,2,3,4로 반복되게 하려면.. 아래처럼 하시면 됩니다.

=MOD(A1+3,4)+1

이걸 응용해서.. 만약 1,2,3,4,5,6으로 반복되고 하려면.. 아래처럼 하시면 되겠죠..

=MOD(A1+5,6)+1

 

일단 숫자는 반복되게 했으니까요..

숫자에 따라 특정 문자열이 나오게 하면 됩니다. 이럴때는 CHOOSE()함수를 사용합니다.

=CHOOSE(MOD(A6+3,4)+1,"주1","주2","야","비")

 

시작되는 위치에 따라 시작점을 변경해줘야겠죠?

T1셀에 시작 문자열(S1셀)을 숫자로 변환하는 수식을 넣어봤습니다.

=VLOOKUP($S$1,{"주1",1;"주2",2;"야",3;"비",4},2,0)

 

이걸 다 하나로 합치면 아래와 같습니다.

=IF(A6="","",CHOOSE(MOD(A6+2+$T$1,4)+1,"주1","주2","야","비"))

 

 

 

목록을 순환해서 만드는 것은 끝났네요..

이번엔 반장의 출근 여부를 결정해보겠습니다.

 

위에 설명해주신 것을 프로그램 로직처럼 정리하면 아래와 같겠네요..

1. 야근이면 무조건 출근

2. 비번이거나 휴일이면 무조건 출근(야근이 아닐 경우)

3. 나머지는 휴일이면 쉬고, 휴일이 아니면 출근

 

위 로직을 IF함수로 구현하면 아래와 같습니다.

=IF(T6="야",1,IF(OR(T6="비",OR(WEEKDAY(요일,2)>5,IF(ISERROR(VLOOKUP(DATE(YEAR(TODAY()),당월,$A6),holidays,1,0)),FALSE,TRUE))),0,1))

 

자세한건 첨부파일을 참고하세요..

다운받기 : 20130204-qna-08-sinnary7-1.xlsm

 

 

도움이 되셨기를.. ^^

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