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

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

사용자목록 필요여부

엑셀수식 조회 수 3195 추천 수 0 2013.02.04 17:23:08

사용OS : XP , 엑셀버젼 : 2007

 

지난번 답변 덕분에 실장의 근무상황은 자동으로 표시하는데 성공한 것 같습니다.

지금 부딪힌 문제는 '방재'시트의 반장의 출근상황(H6:H36)을 자동으로 표시하는 방법이 고민입니다.

 

'주간1,주간2,야간,비번' 이라는 4일 4교대 근무를 하고 있습니다. 아래 근무형태가 4일마다 반복되는 것입니다.

주간 1번째 날은 평일이면 출근해서 출근상황이 1이 되고, 주말과 국경일이라면 쉬므로 0이 됩니다.

주간 2번째 날은 평일이면 출근해서 출근상황이 1이 되고, 주말과 국경일이라면 쉬므로 0이 됩니다.

'야간' 근무일은 주말, 국경일 상관없이 무조건 출근하므로 출근상황이 1,

'비번' 근무일은 주말, 국경일 상관없이 무조건 쉬므로 출근상황이 0,

 

S1 에 그 달의 첫번째 근무형태인 주1,주2,야,비 4가지 중 하나만 입력했을 때

T6~T36 까지에 자동으로 주1,주2,야,비,주1,주2,야,비... 이런 식으로 표시.

예를 들면,

S1 에 '야' 를 입력하면 T6~T36 까지에 자동으로 야,비,주1,주2,야,비,주1,주2... 이런 식으로 표시.

S1 에 '비' 를 입력하면 T6~T36 까지에 자동으로 비,주1,주2,야,비,주1,주2,야... 이런 식으로 표시하게 한 뒤

 

반장의 출근상황(H6:H36) 을 위 조건에 맞춰 0 이나 1을 어떻게 표시하냐가 고민입니다.

  

1) S1 에 그 달의 첫번째 근무형태인 주1,주2,야,비 4가지 중 하나만 입력했을 때 T6~T36 까지에 자동으로 S1의 조건에 따라 4교대 근무형태(주1,주2,야,비)가 표시되는 방법?

2) 반장의 출근상황(H6:H36)에 위 조건에 맞춰 0이나 1을 표시할려면  IF 문을 4개 써야 하는것이 맞을까요?

 

 


댓글 '2'

profile

[레벨:30]아별

2013.02.04 19:44:29
*.104.126.21

성투은자님..

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

 

일단..

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

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

 

 

도움이 되셨기를.. ^^

첨부

성투은자

2013.02.05 17:28:15
*.169.24.176

3가지 조건에서 두번째 2.비번이면 무조건 출근이 아니라 쉬는 것인데,  설명을 쓰시다가 약간 잘 못 쓰인 듯.

 

첨부파일 보니 제가 원하는 결과가 나오는 수식이네요.  대만족입니다.  첨부파일처럼 하면 모든것이 제가 원하던 대로 결과가 나오니깐요.  요즘 SBS 런닝맨의 김종국이 생각나네요. 오과장님은 능력자~

문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
공지 공지 [공지] 아별닷컴의 엑셀 질문방 폐쇄합니다. 카페 질문방 이용하세요.. imagefile [레벨:30]아별 2015-04-23 48086
542 VBA 오늘은 간단한 것 질문할께요 _ VBE 모듈, 유저폼 내보내기(Export) 방법 [4] [레벨:3]엑셀대단해 2012-03-05 3221
541 VBA 닫혀있는 다른파일 데이터 어떻게 참조하나요? [1] [레벨:1]coftw 2013-06-01 3224
540 VBA .Find 주소 검색기 이름중복검색 file [3] [레벨:1]최종원 2012-08-07 3232
539 엑셀수식 분포도 그래프 [1] [레벨:5]눈물바다 2012-09-05 3238
538 VBA 도와주세요,,, 아별님... file [레벨:1]피오량 2013-12-23 3259
537 엑셀일반 궁금한게 있습니다...급합니다..ㅠㅠ [레벨:1]사라다 2014-03-07 3259
536 VBA ^^ 또다른 질문입니다. _ 한 시트에서 다른 시트로 데이터를 순차적으로 붙여넣기 file [1] [레벨:2]광택입니다 2011-11-15 3260
535 엑셀수식 이름 범위를 여러열에 걸쳐 지정 후 조건문 수식 만들기 file [1] [레벨:4]성투은자 2013-02-06 3265
534 VLookup vlookup이 실행이 안되네요 도와주세요 [1] [레벨:1]허니 2013-04-29 3265
533 피벗 필드 셀서식에 원본데이터 셀서식 적용이 안됩니다. file [1] [레벨:3]블루짱이 2011-03-30 3270
532 엑셀버그 엑셀이 이상합니다.ㅜㅜ imagefile [1] [레벨:1]여엉 2013-01-29 3271
531 엑셀일반 엑셀 수식이 바로 적용이 안됩니다. [1] [레벨:0]soiltree 2013-11-04 3276
530 엑셀수식 match 함수 #N/A 오류 file [2] [레벨:4]성투은자 2014-02-17 3277
529 엑셀일반 기초질문 3개 드립니다. 감사합니다. file [3] [레벨:1]Patric Jane 2013-03-13 3280
528 추가기능(AddIns) 매크로 다른 파일에서 편하게 불러쓰는 법 [2] [레벨:6]파이스 2012-02-15 3283
527 엑셀일반 rnd함수 질문입니다.. [1] [레벨:4]신강현 2013-01-29 3284
526 매번 귀찮게 해서 죄송합니다..ㅜㅜ [2] [레벨:3]알알 2011-04-29 3285
525 재미난 엑셀 기능구연 가능?? [1] [레벨:6]ryanoh 2010-10-25 3286
524 엑셀수식 엑셀 수식?질문 드려요 [3] [레벨:2]조기리 2013-02-26 3293
523 엑셀일반 프린트시 여백설정방법에 대하여 질문합니다. file [4] [레벨:5]정화 2012-02-17 3294