본문 바로가기
잔머리 엑셀

Vlookup의 한계를 보완하는 방법

by Lv. 35 라이츄 2025. 4. 23.

https://koreanraichu.tistory.com/606

 

Vlookup 없이 데이터 찾는 법

https://www.instagram.com/p/DGQiwQCJ8vW/이거 보고 띠용했다. 영상을 보면 알겠지만, 룩업 함수는 찾는것보다 왼쪽에 있는 데이터를 못 찾는다. 왼쪽 표를 이용해 오른쪽 표에서 VLOOKUP 함수로 소

koreanraichu.tistory.com

여기서 DGET함수를 이용해 번호를 입력하면 데이터를 집어오는 걸 해봤는데, 이것 말고 다른 방법이 또 있다.

 

 

https://www.instagram.com/p/DH0i_Hpzqh6/

여기 참고했음. 


전에도 서술했지만 Vlookup은 찾는 것의 왼쪽에 있는 걸 못 찾는다. 위 표에서 이름으로 사번이나 부서를 찾는게 Vlookup함수로는 안돼서 전에 서술했던것처럼 DGET함수로 사번 써서 가져오던가 해야 한다. 아니, 근데 생각해보니까 우리가 해야 하는 건 이름으로 사번, 부서, 직급을 가져오는 일이다. 그죠? 그러니까 DGET으로 번호 써서 가져오는 것 말고, 다른 함수를 붙여줘서 Vlookup의 한계를 보완하는 함수를 짜보자. 

 

이게 결과물이다. 믿기지 않겠지만 진짜 Vlookup으로 한 거다. 아니 Vlookup으로 이게 된다고요? 예!

 

H3셀로 커서를 가져가서 =VLOOKUP($G$3,CHOOSE({1,2,3,4},$D$3:$D$17,$B$3:$B$17,$C$3:$C$17,$E$3:$E$17),2,FALSE)를 입력하자. 그리고 엔터키를 누르면... 어? 사번을 찾아주네요? 그리고 이걸 오른쪽으로 자동채우기 한 다음 FALSE 옆에 숫자만 3, 4로 바꿔주면 된다. 

 

일단 CHOOSE함수 안에 있는 괄호는 중괄호이다. 배열 수식인데 이걸 이용해서 각 열 위에 쓰여진 숫자 순서대로 1, 2, 3, 4를 지정한 것이다. 그러니까 배열 옆부분인 $D$3:$D$17,$B$3:$B$17,$C$3:$C$17,$E$3:$E$17이 순서대로 이름, 사번, 부서, 직급인 것. 그리고 Vlookup으로 다시 나와서 2를 입력하면 이름보다 사번이 왼쪽에 있는데도 찾아준다. 그럼 부서랑 직급은 어떻게 했냐고? 

 

이게 부서고 

 

이게 직급이다. 근데 CHOOSE함수가 뭐 하는 함수인데 이게 돼요?


 

=CHOOSE(3, "사번","부서","이름","직급")을 입력하면 이름이 나온다. 다만 이 함수는 룩업류처럼 뭉탱이로 선택이 안 되고 일일이 범위를 입력해야 한다는 단점이 있다. 제일 많이 나오는 예제는 WEEKDAY함수로 반환되는 숫자를 요일로 변환하는 것과 주민등록번호 뒷자리로 남녀 가리는거.

 

WEEKDAY(NOW())를 치면 6이 나오는데 이게 그래서 무슨 요일임? 당황하지 말고 옆 셀에 =CHOOSE(L2,"일요일","월요일","화요일","수요일","목요일","금요일","토요일")을 입력하고 엔터키를 눌러보자.

 

 

글 쓰는 동안 자정이 넘어가서 금요일이 됐다.

 

원리가 뭔지는 나도 모르는게, 참고한 인별에 전체 수식이 안 나와있다. 설명란에 올린댔는데 없음. 

최근댓글

최근글

skin by © 2024 ttutta