Excel의 범위 매핑

Excel의 범위 매핑

Excel에 숫자 [0..100]이 포함된 데이터 열이 있습니다. 다음과 같은 새로운 값 집합에 매핑하는 새 열이 필요합니다.

  • > 90 : 4
  • 80-90 : 3
  • 70-79 : 2
  • 60-69 : 1
  • < 60 : 0

나는 이것을 시도했다VLOOKUP, 특히 테스트 입력 77및 함수 호출을 사용합니다 VLOOKUP(77, A10:B19, 2, TRUE). 여기서 A10은 이 범위의 왼쪽 상단 요소입니다.

99 4
90 4
89 3
80 3
79 2
70 2
69 2
60 1
59 0
0 0

그러나 #N/A. 문서에 따르면 이는 다음과 같습니다.

...lookup_value의 값이 table_array의 첫 번째 열에 있는 가장 작은 값보다 작습니다...

그러나 77을 통과하고 있으므로 분명히 그렇지 않습니다. 그러나 79조회 테이블에 명시적으로 있는 값인 의 테스트 입력을 사용하면 올바른 결과를 얻습니다.

여기서 VLOOKUP이 잘못된 접근 방식인가요? 이런 종류의 매핑을 수행하는 가장 좋은 방법은 무엇입니까?

입력 값과 조회 테이블이 모두 숫자로 입력된다는 점을 언급해야 합니다.

답변1

Vlookup 대신 Index/Match를 사용하는 경우 질문에 게시된 대로 조회 테이블을 내림차순으로 정렬할 수 있습니다. 공식은

=INDEX(B1:B10,MATCH(77,A1:A10,-1))

-1과 일치하면 세 번째 매개변수는 테이블이 내림차순으로 정렬될 때 조회 값보다 크거나 같은 값을 반환합니다.

답변2

이것을 오랫동안 파헤쳐 본 결과 조회 테이블은 오름차순으로 정렬되어야 한다는 것을 알게 되었습니다. 문서에는 정렬해야 한다고 나와 있지만 정렬 순서는 지정하지 않았습니다. 오름차순 이외의 항목은 #N/A오류를 발생시킵니다.

관련 정보