데이터를 관리/운용하는 업무를 하면서 SQL을 메인 기술로 다루고 있다. SQL자체는 어렵지 않지만 역시 진입문턱이 있으며 사용할 수 있는 환경이 한정적이다. 그러나 회사원이라면 IT관리자 외에도 모든 사람이 데이터를 다룬다. 이를 다룰 때 가장 강력한 툴은 역시 EXCEL이다. 오히려 SQL을 짜는 것보다 EXCEL의 기능을 활용하는 것이 훨씬 효과적인 경우가 있다. 이전에 소개했던 글 중에서 ROLLUP/GROUPING의 경우 오히려 EXCEL의 피벗테이블을 사용하는 게 편할 수 있는 것처럼. 그런 생각을 한김에 업무중에 가장 많이 사용한 EXCEL 함수도 소개를 해보려고 한다.
그 중 가장 많이 사용한 함수는 VLOOKUP 함수로 정해진 범위속에서 기준 데이터와 일치하는 값을 찾아 원하는 열을 반환하는 함수이다. 회사에서 사용하는 ERP, 사내시스템에는 여러 화면이 있고 해당 화면에서 데이터를 출력할 수 있을 것이다. 그 때 이곳저곳에서 받아온 데이터를 연결하고 싶을 때 사용할 때 매우 유용하다. 아래와 같이 나는 사원의 부서정보의 데이터, 사원의 실적정보를 각각 가지고 있어 이를 연결하고 싶다고 가정해보자.
0:29
VLOOKUP( 기준데이터, 찾을 범위, 범위의 몇번째 열에 위치하는지, 완전일치)
=>VLOOKUP( 사원번호 , 실적데이터테이블, 실적 열은 두번째 열, 완전일치)
당연히 데이터에 따라서 다르겠지만 일반적인 경우에 가장 중요하다고 생각하는 것은
1. 찾을 범위를 선택할 때 범위 고정
하지 않는 경우 새로 만든 열에서 드래그를 할 경우 범위가 변경된다.
2. 찾을 범위안에서 기준데이터(사원번호)는 가장 왼쪽에 두기
왼쪽에서부터 몇변째 열에 위치하는 지를 적어준다.
0:49
만약 찾는 데이터가 없는 경우 (사원번호 2는 우측 데이터에 없다 ) 에러가 출력된다. 이를 방지하기 위해서는 IFERROR 함수로 감싸주면 깔끔하게 처리가 된다.
IFERROR( VLOOKUP(), "넣고싶은 내용") 으로 처리를하면 에러의 경우 "" 에 입력한 내용이 출력된다
한 가지 유의해야할 점은 찾을 범위 중 가장 먼저 발견되는 데이터를 가져온다는 점이다.
따라서 우측 5번 사원번호가 1번으로 변경된다고 하더라도 VLOOKUP데이터로 끌고온 데이터에는 변화가 없다.
'Computer > Database' 카테고리의 다른 글
[SQL] RANK / DENSE_RANK /ROW_NUMBER (순위함수 그리고 최신데이터 출력 방법) (0) | 2021.11.22 |
---|---|
[SQL] SUBSTR / INSTR / CONCAT / TRIM / LPAD&RPAD / REPLACE (한 눈에 보는 문자열 함수 모음집) (0) | 2021.11.20 |
[SQL] ROLLUP/GROUPING 깔끔한 소계/합계 보고서만들기 (0) | 2021.11.19 |
[SQL] 서브쿼리 (0) | 2021.11.18 |
[SQL] MERGE문, INSERT와 UPDATE를 동시에 진행하기 (0) | 2021.11.10 |