VLOOKUP 함수로 원하는 값을 찾아올 때 여러 개 항목이 있을 경우 해결할 수 있는 방법을 소개합니다. 아래의 글에서는 찾은 목록을 오른쪽으로 나열하였는데, 아래쪽으로(행 방향)으로 나열하는 문의가 많아 다시 포스팅합니다. https://blog.naver.com/onwings/220827432752 아래의 화면에서 오른쪽에서 선택한 제품코드의 정보를 왼쪽 데이터 목록에서 찾아 모두 표시하는 함수입니다.
먼저 함수를 쉽게 사용하기 위해 [제품코드] 목록을 이름으로 정의하겠습니다. (이름 정의를 하지 않고 제품코드 목록을 절대 참조($)로 설정해서 함수를 입력해도 됩니다.) B열의 제품코드 목록을 범위 선택한 후 이름 상자에 '제품코드'라고 입력하고 Enter를 누릅니다.
[I1] 셀에는 제품코드를 선택할 수 있는 유효성 검사가 설정되어 있습니다. (유효성 검사 설명은 생략합니다) 선택된 제품코드의 정보를 찾아보겠습니다. [H4] 셀에 수식을 입력한 후 Ctrl + Shift + Enter를 누릅니다. =IF(COUNTIF(제품코드,$I$1)<ROW()-3,"", INDIRECT("A"&SMALL(IF(제품코드=$I$1,ROW(제품코드),""),ROW()-3))) Ctrl + Shift + Enter를 누르면 배열 수식이 반영되어 수식 앞뒤로 중괄호가 표시됩니다. (수식을 수정할 때도 반드시 Ctrl + Shift + Enter를 눌러서 수정해야 합니다.)
① COUNTIF(제품코드,$I$1)<ROW()-3 : 찾는 제품코드의 1번째, 2번째, 3번째 등의 값을 찾기 위한 순번 값을 만드는 수식, ROW()-3은 1을 만들기 위한 수식, 현재 셀의 행 번호에 어떤 숫자를 빼서 1을 만들어야 함. ② INDIRECT("A"&SMALL(IF(제품코드=$I$1,ROW(제품코드),""),ROW()-3))) : 실제적으로 값을 가져오는 부분, A열에 데이터를 가져오는데 몇 번째 행 값을 가져올 것인지 찾는 수식, 찾는 제품코드의 행 번호와 A 문자를 합쳐서 최종적으로 가져올 셀 주소를 indirect 함수가 만들게 됨
[서울]~[충청] 데이터가 표시될 열의 수식을 각각 수정해야 하는데 열 번호만 맞춰서 수정하면 됩니다. 수정한 후에도 Ctrl + Shift + Enter를 꼭 눌러야 하고요.
수정이 완료된 수식을 아래로 복사하면 완성입니다.
제품 코드를 변경해보세요~ 각 제품코드에 대한 정보가 표시됩니다.
수식이 입력된 파일은 아래에서 다운로드하세요~ https://onwings.blog.me/220827432752
기본적으로 VLOOKUP 함수는 Excel의 세로 수준에서 여러 해당 값을 반환 할 수 있으며, 경우에 따라 아래 스크린 샷과 같이 가로 수준에서 여러 값을 반환 할 수 있습니다. 여기서는 공식이이 작업을 해결할 수 있다고 말할
것입니다.
|