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/(검색범위=찾는값) ,출력값)
이렇게 사용하시면 잘 쓸 수 있을거 같습니다.