Offcanvas

비즈니스|경제 / 소비자IT / 애플리케이션

"함수로 훌륭한 스케줄러를"··· 엑셀로 일정을 정리하는 방법

2018.11.13 JD Sartain  |  PCWorld
한 미국인 관광객이 유럽을 여행하며 겪게 되는 이들을 다룬 영화 ‘If It’s Tuesday, This Must Be Belgium(오늘이 화요일이라면, 여기는 벨기에가 틀림 없어)’을 보다가, 문득 엑셀의 SUM, DATE, WEEKDAY, IF, Nested IF, 그리고 IF/OR 함수가 떠올랐다. 기업은 보통 (하루보다는) 주 단위로 일정을 기획한다. 첫째 주, 둘째 주, 셋째 주 하는 식으로 말이다. 그러려면 각 달의 각 주를 식별하기 위한 날짜 수식을 사용해야 하고, 일련의 nested IF/OR 구문을 통해 특정 업무에 특정 팀 멤버를 배정하는 작업도 필요할 것이다. 이 경우 엑셀을 사용하면 그 어떤 스케줄 프로그램보다 편리하게 일정을 기획할 수 있다.

예컨대, 전 세계 각지에서 열리는 스포츠 행사를 보도하는 스포츠 잡지를 생각해 보라. 각 행사에 파견할 기자, 사진 기자를 선정하고 매번 일정을 정리해야 하는 상황이라면 어떨까? 예를 들어, 이달 셋째 주 화요일에는 벨기에에서 피겨 스케이팅 경기가 열린다. 넷째 주 화요일에는 스코틀랜드에서 봅슬레이 경기가 있고, 첫째 주 화요일에는 아일랜드에서 골프 경기가 열린다. 마지막 주 화요일은 뉴질랜드에서 럭비 경기가 열리는 날이다. 이럴 때 아래의 수식을 사용하면 이들 일정을 정리하고 업무 분장을 정하는 까다롭고도 오랜 시간이 걸리는 업무를 아주 쉽고, 빠르게 해낼 수 있다.

연습용 스프레드시트도 다운받을 수 있도록 첨부했으니 적극 활용하길 바란다.

이 글에서 사용한 수식/함수들
1. SUM
Syntax: =SUM(A2:A10); =SUM(4+5); =SUM(A2+A3)-A4; =SUM(A2-A3)+(A4-A5)
정의: SUM 함수는 여러모로 유용하다. 덧셈, 뺄셈, 곱셈, 나눗셈을 비롯한 10여 가지 계산을 해낼 수 있다.

2. DATE
Syntax: =DATE(year,month,day)
정의: 년, 월, 일의 세 값에 기반한 날짜를 제공한다

3. WEEKDAY
Syntax: =WEEKDAY(serial_number, [return_type])
정의: 이 함수는 일주일의 각 요일에 엑셀 시리얼 넘버를 부여하며 1부터 7까지의 코드를 메긴다. 예시는 아래와 같다.
코드 = 요일

1 = 일요일
2 = 월요일
3 = 화요일
4 = 수요일
5 = 목요일
6 = 금요일
7 = 토요일

일주일의 각 요일, 1년 중 각 달에 지정된 코드


4. IF 구문
Syntax: =IF(logic_test, value_if true, value_if_false)
정의: IF 하의 구문이 참일 경우 A를 하고, 참이 아닐 경우 B를 한다. 예컨대, ‘만약에 비가 오면 창문을 닫고, 비가 오지 않으면 창문을 열어 둔다.’ 

5. Nested IF 구문
Syntax: =IF(logic_test, value_if true, IF(logic_test, value_if true, IF(logic_test, value_if true, value_if_false)))
정의: 만약 이 구문이 참이면 A를 하고, 이 구문이 참이면 B를 하며, 이 구문이 참이면 C를 하고, 참이 아니라면 D를 한다.

6. IF 구문과 OR 조건
Syntax: =IF (위 참조)
Syntax: =OR(logical1,[logical2]...)
Define: =OR(is condition 1 true, OR condition 2 true, OR condition 3 true; etc.
=IF(OR(A2=6,B2=11,C2=9,D2=2),”YES”,”NO”)

주의 : 여기서 OR란 조건 A 또는 B 또는 C가 참일 경우 그 답이 YES라는 것이다. 즉, 답이 NO가 되기 위해서는 세 조건 중 어느 것도 참인 것이 없어야 한다. 반대로 AND일 경우 조건 A와 B와 C, 셋 모두가 참이어야 YES일 수 있다. 이들 중 단 하나만 참이고 나머지 둘은 거짓일 경우 답은 NO가 된다.

스프레드시트 만들기
1. 먼저 간단히 스프레드시트를 만들어 보자. A열~I열에 다음의 헤더를 입력하자.: (A) YEAR, (B) MONTH, (C) WEEK - (D)WEEK, (E) DATE, (F) EVENT, (G) LOCATION—(H) LOCATION, (I) JOURNALIST/ VIDEOGRAPHER. C열과 D열은 'WEEK'이라는 하나의 헤더 하에 통합된다. G열과 H열은 동일하다 (Location이라는 제목의 통합된 열 헤더 1개). 자세한 내용은 아래의 스프레드시트를 참조하면 된다.

스프레드시트 열 헤더 입력


2. A열에는 A2부터 A20까지 2019년을 입력한다. 다섯 번째 열마다 건너 뛴다. 다시 말해, 다섯 열마다 공백이 있어야 한다(별다른 이유가 있어서는 아니고, 그저 보기 좋아지라는 이유에서다). B열에는 아래와 같은 내용을 입력한다: B2:B5에는 1월을 의미하는 숫자 1, B7:B10에서는 숫자 2, B12:B15에서는 숫자 3, 그리고 B17에서는 숫자 4를 입력한다.

3. D열에는 D5, D7_D10, D12_D15, D17_D20의 각 4행 블록에 1일, 2일, 3일, 4일 이라고 입력한다. 나머지 열들은 H열을 제외하고는 모두 수식들이다. H열의 수식이 될 수도 있고, G열의 도시와 일치하는 국가를 수동으로 입력할 수도 있다. 이 스프레드시트에 사용할 수식은 이미 충분하기 때문에, 이 열은 사용자의 재량에 맡겨 두도록 하겠다. 이 열에 가장 적합한 수식이 무엇일지 생각해 보고 그것을 G열에 입력 하도록 하자.

수식 입력하기
1. C열(WEEK)에 입력할 수식은 SUM 함수로서, 매 월의 주 번호를 정의하며 아래 네 가지 syntax 구문 중 어느 것을 입력해도 상관 없다: =1+7*1, =SUM(1+7*2), =SUM(7*3+1), 또는 =SUM(7*4)+1.

2. 해석: 무슨 말인지 모르겠다고? 쉬운 한국어로 풀어 설명하자면 이렇다. '1 더하기 7, 곱하기 1은 8' 이며 이는 월의 첫 주에 해당한다. '1 더하기 7, 곱하기 2는 15 (둘째 주)'. '1 더하기 7, 곱하기 3은 22 (셋째 주).' 그리고 마지막으로 '1 더하기 7, 곱하기 4는 29 (넷째 주).'이며 만일 다섯 번째 주가 있는 달이라면 똑같은 방식으로 수식을 입력하면 된다.

3. 첫 번째 4행 블록, 즉 C2:C5에 이 4개의 수식을 입력한다. 그러면 8, 15, 22, 29가 뜰 것이다. 이 네 행을 C7:C10, C12:C15 및 C17:C20 행까지 복사한다.

주의 : 이미 (위의 설명에 따라) 입력한 D열은 계산에 필요한 열은 아니다. 순전히 미적인 목적으로 입력한 것이다.

4. E열(DATE)에 입력할 수식은 A, B, C 열의 DATE을 지정하며, WEEKDAY DATE A, B, C 열에서 요일(예: 요일 기준)을 뺀다. 예컨대, 화요일은 3, 수요일은 4 이런 식이다. (위에서 언급한 '이 글에서 사용할 수식/함수들'의 3번 밑에 있는 차트를 참조하라.) 수식을 입력 후 복사하는 것을 잊지 말아야 한다.

5. E2:E5 에 다음의 수식을 입력:=DATE(A2,B2,C2)-WEEKDAY(DATE(A2,B2,C2-3)
E7:E10 에 다음의 수식을 입력:=DATE(A7,B7,C7)-WEEKDAY(DATE(A7,B7,C7-4)
E12:E15 에 다음의 수식을 입력:=DATE(A7,B7,C7)-WEEKDAY(DATE(A7,B7,C7-5)
E17:E20 에 다음의 수식을 입력:=DATE(A7,B7,C7)-WEEKDAY(DATE(A7,B7,C7-6)

 

수식-주를 나타내는 C열, 날짜를 나타내는 E열


4주 동안의 모든 날짜를 입력했으니, 이 4주 동안 어떤 행사가, 어디에서 예정되어 있으며 각 행사에 파견할 기자/사진작가는 누구인지를 나타내 줄 수식을 입력할 차례다.

5. F열(EVENT)에 들어가는 수식은 매 월 변경된다.

F2:F5에 다음의 수식을 입력한다:
=IF(C2=8,”아이스 하키”,IF(C2=15,”스노우 스키”,IF(C2=22,”피켜 스케이팅”,IF(C2=29,”봅슬레이”,0))))

F7:F10:에 다음의 수식을 입력한다:
=IF(C7=8,”스피드 스케이팅”,IF(C7=15,”컬링”,IF(C7=22,”개 썰매 경주”,IF(C7=29,”바이애슬론”,0))))

F12:F15에 다음의 수식을 입력한다:
=IF(C12=8,”골프”,IF(C12=15,”경마”,IF(C12=22,”펜싱”,IF(C12=29,”럭비”,0))))

F17:F20에 다음의 수식을 입력한다:
=IF(C2=8,”축구”,IF(C2=15,”테니스”,IF(C2=22,”소프트볼”,IF(C2=29,”농구”,0))))

7. G열에는 각 이벤트가 열리는 도시/위치를 나타내는 다음의 수식을 입력한다.
G2:G5에 다음의 수식을 입력한다:
=IF(C2=8,”몬트리얼”,IF(C2=15,”체르마트”,IF(C2=22,”브뤼셀”,IF(C2=29,”에든버러”,0))))

G7:G10에 다음의 수식을 입력한다:
=IF(C7=8,”암스테르담”,IF(C7=15,”에든버러”,IF(C7=22,”핀마크”,IF(C7=29,”오버호프”,0))))

G12:G15에 다음의 수식을 입력한다:
=IF(C12=8,”더블린”,IF(C12=15,”멜버른”,IF(C12=22,”소치”,IF(C12=29,”오클랜드”,0))))

G17:G20에 다음의 수식을 입력한다:
=IF(C2=8,”런던”,IF(C2=15,”파리”,IF(C2=22,”쾰른”,IF(C2=29,”로마”,0))))

행사명 및 위치 입력을 위한 수식들


8. H열(국가/지역)에는 G열의 도시와 일치하는 국가를 수동으로 입력하거나, 직접 수식을 작성하여 도시와 일치하는 국가를 자동으로 입력할 수 있다.

그러나 H열에는 반드시 해당 국가를 입력해야 한다. 그렇지 않으면 I열(JOURNALIST/VIDEOGRAPHER)의 수식이 제대로 기능하지 않는다.

힌트: 우선 모든 국가를 나열하는 표를 만들고, 나중에 만들 수식에 대비하여 국가 번호를 1에서 14까지 지정해 두면 편리하다.

9. 마지막 수식(I열)은 어떤 행사에 어떤 직원 팀(기자/사진작가)을 파견할 것인지를 나타낸다. 예컨대, 1팀은 독일, 노르웨이, 네덜란드, 그리고 벨기에에 파견된다고 해보자.

I열에 있는 모든 4블록 행에 다음의 동일한 공식을 입력한다(엄청 긴 수식이지만 어쩌겠는가).

=IF(OR(H2="독일",H2="노르웨이",H2="네덜란드",H2="벨기에"),”Team 1”,IF(OR(H2="스위스",H2="이탈리아",H2="러시아"),”Team 2”,IF(OR(H2="스코틀랜드",H2="아일랜드",H2="영국",H2="프랑스"),”Team 3”,IF(OR(H2="캐나다",H2="호주",H2="뉴질랜드"),”Team 4”,0))))

각 행사에 파견될 팀을 지정하는 수식


10. 위의 8번에서 얘기했던 국가 표를 사용하면 I열의 수식을 보다 단순화할 수 있다. 예컨대 호주, 벨기에, 캐나다 같이 국가 이름을 일일이 쓰는 대신 숫자 1, 2, 3을 각각 입력하면 된다. (그래도 여전히 엄청 긴 수식이지만, 그래도 처음보단 좀 낫지 않은가?) 엑셀에 들어갈 수 있는 수식의 최대 길이는 무려 8,192 글자이며, 긴 수식을 관리 및 수정하기란 정말 악몽 같은 일이다. 8,000자가 넘는 수식을 뚫어져라 쳐다보며 틀린 부분을 찾아 고쳐야 한다고 생각해 보라.

11. 먼저 J열에 올바른 국가 번호를 입력해야 한다. 또한 사용자가 임의로 수식을 작성하여 이 작업을 수행할 수도 있다. 각 IF 구문 다음에는 OR 조건을 사용하고 있는 것이 보이는가? 이는 각 팀에 다수의 국가를 할당할 수 있도록 하기 위함이다.

=IF(OR(J17=6,J17=11,J17=9,J17=2),”Team 1”,IF(OR(J17=14,J17=8,J17=12),”Team 2”,IF(OR(J17=13,J17=7,J17=4,J17=5),”Team 3”,IF(OR(J17=3,J17=1,J17=10),”Team 4”,0))))

주의 : 이처럼, 수식에 데이터를 일일이 입력하는 것 보다는 각 항목에 번호를 매겨 테이블을 만드는 쪽이 훨씬 효율적이고 바람직하다. 국가명 대신 국가 번호를 사용하면, 국가 테이블의 내용만 수정해도 수식에 입력한 국가를 추가, 삭제 또는 변경할 수 있게 된다.

예컨대, 2020년에는 캐나다에서 열리던 이벤트가 스웨덴으로 옮겨 가게 되었다고 해보자. 이 때 일일이 수식에 입력한 캐나다를 스웨덴으로 바꾸는 대신 테이블 3번 자리에서 캐나다를 지우고 스웨덴을 입력하면 된다. 또한 특정 팀에 기자와 사진작가를 배정해 두었다가 수식을 변경하지 않고도 팀 멤버를 변경할 수도 있다.

국가명과 팀을 기록해 둔 테이블


12. 스프레드시트의 각 요소들을 컬러 표기해 두면 클라이언트나 동료, 상사에게 보고할 때 바로바로 필요한 정보를 가져올 수 있다. editor@itworld.co.kr  
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.