John은 A 열의 오름차순 숫자 값과 B 열의 해당 텍스트 값에 대한 조회 테이블을 가지고 있습니다. 그가 VLOOKUP 함수를 사용하면 지정된 조회 값과 같거나 작은 숫자 값에 대한 텍스트 값을 반환합니다. John은 실제로 조회 값보다 크거나 같은 첫 번째 값을 원합니다.

VLOOKUP이 작동하는 방식을 변경할 수있는 방법은 없습니다. 항상 조회 값과 같거나 작은 값과 일치합니다. 그러나 옵션은 실제 조회를 수행하는 데 사용되는 공식을 수정하는 것입니다. 조회에 사용할 값이 셀 D1에 있다고 가정하는 다음 공식을 고려하십시오.

=IF(VLOOKUP(D1,$A$1:$A$10,1)=D1,VLOOKUP(D1,$A$1:$B$10,2), INDEX($B$1:$B$10,1+MATCH(D1,$A$1:$A$10)))

D1의 값이 A 열의 값과 정확히 일치하면 일반 VLOOKUP 수식이 사용됩니다. 그렇지 않은 경우 MATCH 함수와 함께 INDEX 함수 대신 VLOOKUP이 중단됩니다.

데이터 테이블을 내림차순으로 정렬 할 수있는 경우 더 짧은 공식을 사용할 수 있습니다.

=INDEX($A$1:$B$10,MATCH(D1,$A$1:$A$10,-1),2)

MATCH 함수는 D1 값을 사용하여 해당 값보다 크거나 같은 가장 작은 값을 찾습니다. (이것은 -1 매개 변수가 지정하는 것입니다.) MATCH 함수는 적절한 행의 행 번호를 리턴 한 다음 INDEX에서 실제로 값을 가져 오는 데 사용됩니다.

문제에 대한 또 다른 흥미로운 접근 방식은 조회 값의 역을 데이터 테이블에서 실제로 정보를 조회하는 데 사용되는 제어 열로 사용하는 것입니다. 예를 들어 데이터 테이블이 A1 : B10에 있고 A 열에서 조회에 사용하는 실제 숫자 값이 있다고 가정합니다. 데이터 테이블의 왼쪽에 열을 삽입해야합니다. 이 새 열의 첫 번째 셀 (현재 A 열)에 다음 수식을 삽입합니다.

=1/B1

이것은 B1의 값의 역수를 제공하며 A 열의 셀 아래로 복사 할 수 있습니다. 이제 데이터 테이블에 A1 : C10이라는 세 개의 열이 있습니다.

다음으로이 새 열을 기준으로 데이터 표를 오름차순으로 정렬합니다.

이제 조회 수식을 약간 수정하여 원하는 내용의 반대를 찾습니다. 조회에 사용할 값이 셀 E1에 있다고 가정하면 다음 수식을 사용합니다.

=VLOOKUP(1/E1,$A$1:$C$10,3)

효과적으로 최종 결과는 E1의 값보다 작거나 같은 B 열의 값과 연관된 C 열의 원하는 값입니다.

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (3090)은 Microsoft Excel 97, 2000, 2002 및 2003에 적용됩니다.