재사용 가능한 VLOOKUP(VLOOKUP)

내용

상품의 번호와 이름이 포함된 주문 목록이 있습니다. 예를 들어, 테이블에 포함된 모든 상품을 주문 번호별로 테이블에서 꺼내고 싶습니다. 다음과 같이 다소:

 

멋진 기능 VLOOKUP(VLOOKUP) 그러한 상황에서는 부분적으로만 도움이 될 것입니다. 처음 발견된 일치 항목에 의해서만 데이터를 추출할 수 있기 때문입니다. 즉, 사과. 테이블에서 모든 항목을 찾아 추출하려면 배열 수식을 사용하는 것이 좋습니다. 이 같은:

=INDEX($B$2:$B$16;가장 작은(IF($ E $ 2=A2 : A16;LINE(B2 : B16)-1;"");LINE()-5))

다음과 같이 입력해야 합니다.

  1. 결과를 표시해야 하는 셀을 선택합니다(이 예에서는 D6:D20 범위임).
  2. 범위의 입력(첫 번째 셀에 수식 복사)
  3. 키를 눌러 Ctrl 키 + 변화 + 엔터 버튼

조각의 단위 빼기 문자열(B2:B16)-1 테이블 헤더 때문에 수행됩니다. 같은 이유로 원래 범위와 비교하여 결과 범위의 이동을 보상하기 위해 조각의 숫자 XNUMX를 뺍니다. 문자열()-5

#NUM을 숨기려면! 결과 범위 D6:D20의 빈 셀에 표시되는 오류가 있는 경우 오류 검사 기능인 IF 및 EOSH를 사용하여 공식을 약간 더 복잡한 공식으로 바꿀 수 있습니다.

=IF(EOSH(ИНДЕКС($B$2:$B$16;НАИМЕНЬШИЙ(ЕСЛИ($E$2=A2:A16;СТРОКА(B2:B16)-1;»»);СТРОКА()-5)));»»;ИНДЕКС($B$2:$B$16;НАИМЕНЬШИЙ(ЕСЛИ($E$2=A2:A16;СТРОКА(B2:B16)-1;»»);СТРОКА()-5)))

Excel 2007에서는 보다 편리한 IFERROR 기능이 나타났습니다. 이를 통해 문제를 보다 간결하게 해결할 수 있습니다.

=IFERROR(ИНДЕКС($B$2:$B$16;НАИМЕНЬШИЙ(ЕСЛИ($E$2=A2:A16;СТРОКА(B2:B16)-1;»»);СТРОКА()-5));»»)

PS

영어 버전의 Excel에서 이러한 기능은 다음과 같습니다.

=INDEX($B$2:$B$16,SMALL(IF($E$2=A2:A16,ROW(B2:B16)-1,»»),ROW()-5))

=IF(ISERR(INDEX($B$2:$B$16,SMALL(IF($E$2=A2:A16,ROW(B2:B16)-1,»»),ROW()-5))),»»,INDEX($B$2:$B$16,SMALL(IF($E$2=A2:A16,ROW(B2:B16)-1,»»),ROW()-5)))

=IFERROR(INDEX($B$2:$B$16,SMALL(IF($E$2=A2:A16,ROW(B2:B16)-1,»»),ROW()-5)),»»)

  • VLOOKUP 함수를 사용하여 테이블에서 데이터 찾기
  • 첫 번째 값뿐만 아니라 모든 열에서 검색할 수 있는 VLOOKUP2 함수의 개선된 버전
  • PLEX 애드온의 VLOOKUP2 및 VLOOKUP3 기능
  • 배열 수식은 무엇이며 무엇에 사용됩니까?

 

댓글을 남겨주세요.