LOOKUP 함수 사용법(2019 이하 필독)

작성자
박정호
작성일
2025-03-11 13:56
조회
184

2019이하 버전을 사용하시는 분들은 반드시 보시길 바랍니다.

[윤아] 라는 글자를 넣으면 [소녀시대_SM]
출력되게 하려면 어떻게 하면 좋을까요.

대부분 방법이 바로 떠오르실 거에요.
(VLOOKUP 따위론 불가능하지만)

글 제목이 LOOKUP인 만큼 당연히 LOOKUP로도 가능합니다.

 

 

일단 index-match 로

=INDEX( B:B&"_"&D:D ,MATCH(F2,C1:C10,0))

빨간색 글씨를 보고 저게 된다고?
느끼실 분들도 많지 않을까? 싶네요.
흔히 사용하는 방법은 아니지만 가능합니다.
고수님들이 간혹 사용하는 정도?

어려운건 아니지만 잘 쓰진 않는거 같아요.
오빠두에서도 거의 못본거 같긴 합니다.
아무튼 저걸 [유연성] 이라 하겠습니다.

VLOOKUP은 유연성이 아예 없지만
반면 LOOKUP 은 유연성이 엄청납니다.

=LOOKUP("찾는값","검색영역","출력값")
기본 공식은 저렇지만
아래 처럼 사용하는 것도 가능합니다.

=LOOKUP(MATCH(F2,C1:C10,0), ROW(A:A) , B:B&"_"&D:D )
위에 index-match랑 똑 같은 겁니다.
index-match를 생각하면서 작동 방식을 생각해 보면 됩니다.

[LOOKUP]이 적합한 상황는 아니지만
[LOOKUP]의 특성을 잘 보여줍니다.

sumifs vlookup countifs... 처럼
흔히 쓰던 함수들과 달리 유연성이 엄청납니다.
그래서 이런 것도 가능합니다. (요건 어려운거니 일단 눈팅만)
=LOOKUP(2,1/TRIM($A$1:A6)<>""),(row($A$1:A6)-5)&"."&$A$1:A6)

좀 생소할 수도 있지만 셀 병합 풀때 저렇게 씁니다.
TRIM 이나 ROW 같은게 들어가도 작동하네 정도만 보시면 되요.

유연성이 높다는건 잠재력이 크다는 뜻 입니다.
사용방식이 그리 어렵지도 않구요. XLOOKUP 없는
2019 이하에서는 축복 아닌가 싶습니다.

2019이하 버전 쓰시는 분이시라면 반드시 익히시길 바랍니다.

이번에 LOOKUP 함수와 VLOOKUP 함수를 비교해 보면서
LOOKUP을 왜 안쓰게 되는지 이해할 수 있었네요.

일단 결론 부터
=LOOKUP("찾는값","검색영역","출력값")
기본패턴은 잊어 버리십시요. 오류 때문에 못씁니다.

=LOOKUP(1, 1/(A1:A10=B1) ,C1:C10)

1/(A1:A10=B1) 이게 뭔 개소린가 싶더라도
이렇게 쓰시면 됩니다.

공식을 이해하는 것 보단 쓰는게 더 쉽습니다.

직관적으로 (A1:A10=B1) 필요할땐
LOOKUP 에선 1/(A1:A10=B1) 이 따위로 들어가는 구나
이렇게 생각하시고 쓰시면 됩니다.

이 부분만 바꾸면 XLOOKUP 과 거의 100% 호환 됩니다.
= LOOKUP (1, 1/(A1:A10=B1) ,C1:C10)
=XLOOKUP(1, 1*(A1:A10=B1) ,C1:C10)

XLOOKUP 에서 1*를 한 이유는
true*1=1 이라는 걸 이용하기 위해서입니다.

이것만으론 별거 아니지만
조건이 2개 이상으로 늘어나면 이야기가 달라집니다

[우기][큐브] 라는 걸 검색해서
[3.여자아이들] 이라는 결과가 나오면 됩니다.
파란색[LOOKUP] 보라색[XLOOKUP]

=LOOKUP(1,1/(C1:C10=F3)/(D1:D10=G3),A1:A10&"."&B1:B10)
=XLOOKUP(1,(C1:C10=F3)*(D1:D10=G3),A1:A10&"."&B1:B10)

(C1:C10=F3)1/(C1:C10=F3) 로 바꾸는 느낌으로 쓰면 되요.
TRUE*TREU=1 이기 때문에 여기선 1* 해줄 필요도 없습니다.

XLOOKUP 사용법중 & 아이디어라는게 있습니다.
이것도 보는게 더 빠르니까. (조건2개 검색)

=XLOOKUP(1,1*(C1:C10&D1:D10=F3&G3),A1:A10&"."&B1:B10)

댕부러웠던 건데 LOOKUP도 가능합니다.
=LOOKUP(1,1/(C1:C10&D1:D10=F3&G3),A1:A10&"."&B1:B10)

2019 이하에서 index-match 써보신 분이시면 아시겠지만
조건이 2개 이상이면 배열수식이 필요합니다.
lookup 은 조건이 2개든 3개든 그냥 쓰면 되요.

하지만 XLOOKUP 과 100% 일치하는건 아니다.

B열(팀이름) 검색해서 C열(맴버이름)
=LOOKUP(1,1/(B1:B10=G3),C1:C10)

,

르세라핌 = 일치
아이브는 불일치

1/(AA=A) 형태로 사용할 경우
별다른 오류는 없지만
특성은 좀 다릅니다.

중복값이 있을 경우
XLOOKUP,VLOOKUP,Match 함수는 첫번째 출력
LOOKUP 함수는 ??????

일단 첫번째 값을 찾는 방법은 못 찾았지만
마지막 값을 찾는 방법은 있습니다.
=LOOKUP(1,1/(B1:B10=G3),C1:C10)
=LOOKUP(2,1/(B1:B10=G3),C1:C10)
1 대신에 2를 넣어 주시면 마지막 값으로 안정화 됩니다.
무조건 마지막 값을 찾아줌

기본 수준에선 저것 때문에 신뢰성이 낮아 보일 수 있지만
LOOKUP 고급 공식들은
오히려 저 특성을 살려서 사용하는 경우가 많습니다.

개인적으론 장점이라고 생각하지만
이 특성을 모르고 사용하면 실수할 수 있습니다.

그래서 기본 공식 자체를
=LOOKUP(2,1/(B1:B10=G3),C1:C10)
이런 식으로 1이 아니라 2를 넣는 것도 괜찮다고 봅니다.

하지만 첫번째 값을 찾는다면?
왠만하면 index-match로 하시면 되지만

lookup 으로도 가능합니다.
하지만 이렇게 쓰면 장점이 있나 싶긴 하지만

=LOOKUP(MATCH(1,1*(B1:B10=G3),0), ROW(A1:A10) , C1:C10 )

당연히 index-match 로 바꿀 수 있고
=index(C1:C10,MATCH(1,1*(B1:B10=G3),0))
(2019 이하에선 배열수식)

이런 부분이 좀 있지만
개인적으로는 2019 이하에서 lookup함수는 축복이라 생각합니다.

개인적으로 lookup 함수를 테스트 하면서 왜 안썼는지 의문이었는데
기본공식 =LOOKUP("찾는값","검색영역","출력값")
이게 워낙 개복치 같아서 그런 듯 합니다.

기본 공식 잊어 버리시고
=LOOKUP(1, 1/(A1:A10=B1) ,C1:C10)
=LOOKUP(1, 1/(검색범위=찾는값) ,출력값)
이렇게 사용하시면 잘 쓸 수 있을거 같습니다.

신고
스크랩
공유
전체 6

  • 2025-03-12 12:42

    @박정호 님 수식에 참조를 넣을 때 전체 열을 넣으면 성능이 아주 나빠집니다.

    작성하신 수식은 전체 열을 넣은것과 특정 범위를 넣을 때 속도의 차이입니다.

    님이 작성한 대로 전체 열을 넣으면 1048576개의 배열을 생성하고 이 값을 다 연산합니다. 쓸모 없는 배열 데이터를 연산하는 겁니다.

    속도는 아래와 같습니다. 동일 수식을 10번 반복 했을 때 평균 0.38초가 걸립니다. 필요한 참조만 잡으면 1/100초로 측정이 안될 정도로 빠릅니다.

    하나의 값을 검색하므로 이건 나노 세컨드로도 측정이 안될 정도로 빠릅니다.


    • 2025-03-13 10:21

      @수미수 님 요즘건 저런기능이 있군요 ㅎㅎ
      뭐 최적화는 사용자님들이 알아서 하시겠죠.


  • 2025-04-28 11:41

    @박정호 님 역시 알아야 제대로 쓸 수 있는 거군요..ㅜ


  • 2025-03-16 13:01

    sumproduct-match 함수 사용하는 부분 삭제 합니다.
    사용해 보니 오류가 나와서요


  • 2025-04-14 04:10

    @박정호 님 감사합니다....!!


  • 2025-03-27 22:01

    @박정호 님 함수의 위력은 무궁무진하네요 ㅠㅠ


전체 165
번호 제목 작성자 작성일 추천 조회
알림
[📚진짜쓰는 실무엑셀] IT/오피스 '1위' 베스트셀러! 엑셀 공부, 이 교재로 마스터하세요! (313)
오빠두엑셀 | 2022.02.03 | 추천 572 | 조회 599588
오빠두엑셀 2022.02.03 572 599588
78094
[M365] 수식으로 고급필터 구현하기 첨부파일 (1)
마법의손 | 2025.04.11 | 추천 1 | 조회 73
마법의손 2025.04.11 1 73
78009
LOOKUP을 XLOOKUP 처럼 사용 (2019 이하 필독) 첨부파일 (1)
박정호 | 2025.04.06 | 추천 0 | 조회 95
박정호 2025.04.06 - 95
78002
[VBA] 괄호가 대응되게 문자열 잘라주는 함수
마법의손 | 2025.04.05 | 추천 0 | 조회 46
마법의손 2025.04.05 - 46
77792
엑셀 그림 삽입이 안될 때.. (그림 삽입 비활성화 해결) (1)
더블유에이 | 2025.03.24 | 추천 2 | 조회 342
더블유에이 2025.03.24 2 342
77667
언피벗 툴 업그레이드 버전입니다. 첨부파일 (2)
박정호 | 2025.03.17 | 추천 0 | 조회 99
박정호 2025.03.17 - 99
77635
머리글로 데이터 합치기 툴 첨부파일 (4)
박정호 | 2025.03.15 | 추천 1 | 조회 110
박정호 2025.03.15 1 110
77598
MERGE(자석처럼 자료 붙이기) 툴입니다. 첨부파일 (2)
박정호 | 2025.03.13 | 추천 0 | 조회 148
박정호 2025.03.13 - 148
77577
[VBA] 시트명들 가져오는 함수 첨부파일 (4)
마법의손 | 2025.03.12 | 추천 1 | 조회 107
마법의손 2025.03.12 1 107
77544
LOOKUP 함수 사용법(2019 이하 필독) 첨부파일 (6)
박정호 | 2025.03.11 | 추천 0 | 조회 184
박정호 2025.03.11 - 184
77543
[함수TIP] Date함수로 Eomonth함수 대체하기 (3)
마법의손 | 2025.03.11 | 추천 3 | 조회 68
마법의손 2025.03.11 3 68
77481
쉽게 쓸 수 있는 언피벗 툴 첨부파일 (2)
박정호 | 2025.03.08 | 추천 2 | 조회 112
박정호 2025.03.08 2 112
77468
월간단위 월주차 함수 첨부파일 (3)
팍셀 | 2025.03.07 | 추천 0 | 조회 130
팍셀 2025.03.07 - 130
77385
TEXTJOIN 을 SUMPRODUCT 공식으로 2차원 데이터 다루기 첨부파일
박정호 | 2025.03.04 | 추천 0 | 조회 93
박정호 2025.03.04 - 93
77355
TEXTJOIN 으로 2차원 데이터 다루기 첨부파일 (3)
박정호 | 2025.03.02 | 추천 1 | 조회 96
박정호 2025.03.02 1 96
77353
& 기호로 SUMPRODUCT 2차원 데이터 다루기 첨부파일 (2)
박정호 | 2025.03.02 | 추천 0 | 조회 72
박정호 2025.03.02 - 72
77351
단어 포함 여부 검색, 원하는 단어로 출력 첨부파일
박정호 | 2025.03.02 | 추천 1 | 조회 103
박정호 2025.03.02 1 103
77238
휴일이면 1 아니면 0이 나오는 함수 첨부파일 (4)
박정호 | 2025.02.24 | 추천 0 | 조회 142
박정호 2025.02.24 - 142
77072
SUMPRODUCT로 VLOOKUP 대체 (2차원 룩업 가능) 첨부파일 (1)
박정호 | 2025.02.16 | 추천 0 | 조회 249
박정호 2025.02.16 - 249
76915
SUMPRODUCT로 2차원 데이터 다루기[응용] 첨부파일 (6)
박정호 | 2025.02.09 | 추천 1 | 조회 221
박정호 2025.02.09 1 221
76913
SUMPRODUCT로 2차원 데이터 sumifs 처럼 다루기 첨부파일 (1)
박정호 | 2025.02.09 | 추천 0 | 조회 177
박정호 2025.02.09 - 177