본문 바로가기
WeekdayLife/excel

[엑셀] 등급 찾아서 넣기 : 이름정의에서 배열 사용#2(VLOOKUP)

by JO_i 2022. 4. 25.

이름정의에서 배열상수를 넣어서, 별도의 참조테이블을 사용하지 않는 방법을 얼마전 글에서 적은 적이 있다. 이를 사용하여 점수별 등급을 손쉽게 넣을 수 있다. 이는 VLOOKUP의 마지막 상수(RANGE_LOOKUP)값을 TRUE 또는 FALSE로 설정하는 것으로 가능한데, 이에 대한 이해가 필요하다.

 

 

 

[엑셀] 이름정의에서 배열 사용(VLOOKUP)

유효성 검사로 드랍다운 메뉴를 사용하는 때를 생각해 보자. 다른 값이 들어오는 것을 막을 때 주로 사용하지만, 특정값이 들어왔을때, VLOOKUP 함수를 사용하여, 다른 테이블을 참조한 값을 넣어

sunnybong.tistory.com

 

VLOOKUP 함수의 RANGE_LOOKUP 값을 FALSE로 사용하는 경우, 완전히 값이 동일할 때 값을 반환한다. TRUE로 사용하면 유사값을 반환하는데, 이를 사용하기 위해 참조 테이블의 값이 오름차순으로 "정렬" 되어있어야 한다. 그 말은 엑셀이 순서를 예측할 수 있을 때만 사용이 가능하다는 것이다. 찾는 값은 최소값이 됨을 알고 있어야 한다.

 

예를 들어, 아래와 같은 표가 있다고 치면, 기준값 열은 보이는 것처럼 오름차순으로 정렬이 되어있어야한다. 내림차순으로 정렬이 되어 있을 경우, VLOOKUPTRUE상수를 넣었을때, 원치 않는 값을 반환한다.

 

 

 

 

이를 바탕으로 위에 기재된 참조 테이블을 이름참조의 배열 상수로 기재하면 아래와 같다. 이름은 점수2로 설정해 주었다.

={0,"F";70,"D";80,"C";90,"B";100,"A"}

열 구분은 , 행 구분은 ; 로 해주고, 맨 마지막엔 ; 를 넣으면 안된다.

 

 

 

아래와 같이 TRUE 값으로 VLOOKUP을 세팅해 주면, 등급을 정상적으로 찾아내는 것을 알 수 있다. 이 말은 별도로, 참조 테이블을 시트 내 기재할 필요가 없다는 뜻이다.

 

 

 

 

IFERROR 함수와 같이 적어준다면, 혹시 모르게 발생할 수 있는 오류의 가능성을 낮출 수 있다.

 

 

 

지난번에 이어, 배열상수에 대해 알아 보았는데, 날짜 구간을 받아오는 등 여러가지 용도로 사용이 가능할 것 같다. 

하지만, 배열은 눈에 잘 보이지 않으므로 생각을 할 필요가 있는 부분이라 하겠다.