본문 바로가기
엑셀

[엑셀] VLOOKUP 함수를 쓰고 싶은데, 적용이 안되는 예제와 해결할 수 있는 함수와 수식 작성 방법.

by 행아아빠 2020. 3. 14.

안녕하세요.

행아아빠입니다.

이번 #엑셀 내용은

VLOOKUP 함수를 사용해서 결과값을 가져오면 될 것 같지만,

적용이 안되는 경우가 있습니다.

 

예를들면, 조건이 여러가지인 경우가 있을 수 있겠는데요.

조건이 여러가지일때 VLOOKUP 함수를 사용하고자 한다면,

LOOKUP 함수를 사용해서 해결 할 수 있는 수식 작성 방법에 대해 설명드린바 있습니다.


조건이 여러개일때 Vlookup함수 대신 사용해서 해결할 수 있는 수식 작성 방법. 

https://hang-a-fafa.tistory.com/29


LOOKUP 함수 이외에 사용할 수 있는 함수와 수식을 어떻게 작성하는지 확인해 보도록 하겠습니다.



▼ 오늘의 질문 내용은 아래와 같습니다.

 

엑셀 함수관련 질문!!

두개의 시트가 있습니다.

회원정보 시트의 G열을 채워 넣어야 합니다.

회원정보 시트와 정회원 시트의 C열과 F열 두개의 열의 값이 동일 할때

정회원시트 G열 값이 회원정보 G열로 들어가게 하려면 어떻게 해야할까요?

(동일한 열번호가 아닐 수 도 있습니다. 그냥 단순히 특정 두개의 열 값이 동일하면 특정 값을 출력해주는 함수를 원합니다.)

Index 랑 match 를 어떻게 사용해야할지를 모르겠네요.

 


가져오고자 하는 파일의 데이터에서 넣고자 하는 파일에 이름과 사원번호의 조건이 일치할때의 메일주소를

    결과값으로 불러오고자 하는 질문 내용입니다.

    질문에서는 별도의 시트로 두가지 데이터를 관리하고 있지만,

    저는 예시로 함수 수식을 작성하기 위해 한 시트안에서 작성하려고 예시 데이터를 작성해 놓았습니다.

    우선, 말씀드렸듯이 조건이 여러가지인 VLOOKUP 함수!!

    이것은 LOOKUP 함수로 해결이 됩니다.


LOOKUP 함수로 수식을 작성해서 결과값을 얻고자 한다면

    =LOOKUP(1,1/(($B$4:$B$9=F4)*($C$4:$C$9=G4)),$D$4:$D$9)

    수식을 이렇게 작성해 주면 원하는 결과값을 얻을 수 있습니다.

    그런데 오늘은!! LOOKUP 함수와는 다른함수를 사용해서 수식을 작성해 보고자 하는 것 입니다.

    바로!!

    IF 함수, INDEX 함수, MATCH 함수를 이용해서 수식을 작성해볼게요!!


▼ INDEX 함수와 MATCH 함수의 사용은 가로, 세로의 표로 작성된 범위안에 작성된 데이터를 결과값으로 불러오고자 하거나,

    구간사이에 해당할때의 고정값을 결과값으로 불러오고자 할때 사용할 수 있는 내용으로 이미 설명드린바 있습니다.

가로/세로 제목안에 있는 표의 데이터를 결과값으로 가져와야 할 때에 작성 할 수 있는 수식 작성 방법.

https://hang-a-fafa.tistory.com/26


숫자의 구간에 따른 결정값을 불러오고자 할 때 작성 할 수 있는 수식 작성 방법.

https://hang-a-fafa.tistory.com/27


오늘은 LOOKUP 함수처럼 이용을 할수 있는 방법이 되겠네요.

우선 INDEX 함수는 표나 범위 내에서 값이나 참조영역을 구할 수 있는 함수로 생각하시면 됩니다.

MATCH 함수는 지정된 순서상의 지정된 값에 일치하는 항목의 상대위치 값을 찾을 수 있는 함수로 보시면 되겠습니다.


▲ 글로 풀어서 설명보다는, 직접 작성된 수식을 보는게 빠르게 이해가 되시겠죠~??

    INDEX 함수와 MATCH 함수를 이용해서 작성한 수식은

    =INDEX($D$4:$D$9,MATCH(G4,$C$4:$C$9,0)) 입니다.

    LOOKUP 함수와 차이점은

    LOOKUP 함수는 조건 2가지 모두를 충족 시키는 결과값을 불러올 수 있지만,

    INDEX, MATCH 함수로는 이름의 조건이 같은 값이 있을 경우 정확하게 걸러내지를 못한다는 것 입니다.

    그렇기 때문에 중복되는 조건의 값이 없는 사원번호만을 조건으로 비교하여 결과값을 불러와야 한다는 것이지요!!


    결론적으로는 두가지 모두 같은 결과값을 가져올수는 있겠지만,

    정확하고 모든 조건들에 일치하는 결과값을 가져오고자 한다면,

    LOOKUP 함수를 이용하는 것이 더 정확한 결과값을 얻을 수 있다는 것 입니다.

    그렇지만, INDEX, MATCH 함수로도 비교할 조건 범위만 변경되어 수식을 작성했을뿐,

    같은 결과값이 나올 수 있으니,

    꼭 한가지만 알고 계시는 것 보다 여러가지 방법으로 같은 결과값을 가져올 수 있다는 내용으로 참고해 주시면 될 것 같아요.

    이처럼 수식을 작성하는데, 본인이 좀 더 편하게 작성 할 수 있는 수식으로 작성을 하면 되기 때문에,

    함수의 사용과 수식의 작성 방법에는 많은 변형과 응용으로 작성 할 수 있으니,

    수식을 작성하는데 있어서 정확한 정답은 없다고도 할 수 있을 것 같네요.


 

그럼 오늘 내용도 많은 분들께 도움이 되었으면 좋겠습니다.

좋은 하루들 보내시길 바랄게요~^^!

댓글