어제 업무에 사용했던 함수를 하나 정리해 보겠습니다.
실제 회사 데이터를 올릴 수 는 없어서 가상으로 아래의 상황을 설정했습니다.
작년과 올해에 여러곳에서 마라톤을 완주 했습니다.
위와 같이 정리 돼 있는데 첫번째 표에 해당 City의 2014년도의 기록을 넣고 싶습니다.
이럴경우 VLOOKUP을 사용하면 되는데요.
=IFERROR(VLOOKUP(B6,$G$6:$H$11,2,FALSE),"No")
이렇게 사용하면 됩니다.
우선 VLOOKUP 함수부터 보면 첫번째 argument (B6)는 비교할 데이터 입니다.
첫번째 칸에서는 Chunchon 이 되겠죠.
그리고 두번째($G$6:$H$11)는 이 Chunchon 이라는 데이터랑 비교할 범위입니다.
G6:H11 이 범위인데 여기에 $를 사용한 이유는 나중에 다른 셀에도 적용하기 위해서 해당 셀을 더블클릭하거나 Drag 할 때 이 값이 변하지 않도록 하기 위해서 입니다.
첫번째 인자인 B6는 $이 없으니까 Drag 하면 B7-B8-B9... 이런식으로 숫자가 자동 증가하게 됩니다.
그리고 세번째 인자인 2 는 두번째 값을 셀에 넣겠다는 겁니다.
Chunchon 이랑 같은 값이 오면 그 라인의 두번째 값을 취하겠다는 겁니다.
(그런데 오른쪽에는 Chunchon 이 없네요. 이런 경우는 조금 있다가 설명드리겠습니다.)
대신 Delhi를 보면 3:18 이 두번째 값입니다.
마지막에 FALSE는 Chunchon 이랑 정확하게 match 되어야 한다는 조건이고 TRUE 를 사용하면 비슷한 단어가 있으면 match 됐다고 보라는 겁니다.
이렇게 하면 VLOOKUP은 완료 됐는데요.
아까 봤듯이 CHUNCHON이라는 도시가 오른쪽 표에 없습니다.
이런 경우 #N/A 라고 표시가 될 텐데, 이게 보기 싫으면 다른 문자를 표시할 수 있습니다.
그게 IFERROR 함수 입니다.
만약 결과가 ERROR 이면 No 라는 문자를 표시하라는 거죠.
이렇게 하면 아래와 같은 결과가 나옵니다.
작년과 올해 모두 참가한 마라톤 대회는 Roterdam과 Boston 대회이군요.
Roterdam 대회는 1시간을 앞당겼고 Boston 대회는 50여분이 늦춰졌네요.
뭐 이게 있을 법한 일인지는 모르겠지만요.
하여간 VLOOKUP과 IFERROR 를 잘 사용하면 위와 같이 데이터를 가공할 필요가 있을 때 아주 유용하게 사용 하실 수 있습니다.
'etc. > Excel Programming' 카테고리의 다른 글
Count cells that contain specific text (0) | 2015.08.28 |
---|---|
UsedRange와 VLookup 을 이용한 데이터 비교 로직 (0) | 2015.08.06 |
Excel Macro로 HP QC 접속하기 (0) | 2014.12.27 |
WEEKDAY() 함수 이용한 월요일 구하기 (2) | 2014.12.13 |
[Excel] 초를 분으로 , 분을 초로 그리고 분을 시간으로 변환하기 (1) | 2014.03.25 |
[VBA] Tip Range 안에 있는 Row 갯수 구하기 (0) | 2014.03.06 |
[VBA] Tips - 필터링 후 Avarage 구하기 (0) | 2014.03.05 |
[VBA] Tips - 필터링 후 row 갯수 구하기 (0) | 2014.03.05 |
[VBA] Debug.print 출력물을 파일에 저장하기 (0) | 2014.03.04 |
[VBA] 디버깅 툴 알아보기 (0) | 2014.03.03 |