이름정의에서 배열상수를 넣어서, 별도의 참조테이블을 사용하지 않는 방법을 얼마전 글에서 적은 적이 있다. 이를 사용하여 점수별 등급을 손쉽게 넣을 수 있다. 이는 VLOOKUP
의 마지막 상수(RANGE_LOOKUP
)값을 TRUE
또는 FALSE
로 설정하는 것으로 가능한데, 이에 대한 이해가 필요하다.
VLOOKUP
함수의 RANGE_LOOKUP
값을 FALSE
로 사용하는 경우, 완전히 값이 동일할 때 값을 반환한다. TRUE
로 사용하면 유사값을 반환하는데, 이를 사용하기 위해 참조 테이블의 값이 오름차순으로 "정렬" 되어있어야 한다. 그 말은 엑셀이 순서를 예측할 수 있을 때만 사용이 가능하다는 것이다. 찾는 값은 최소값이 됨을 알고 있어야 한다.
예를 들어, 아래와 같은 표가 있다고 치면, 기준값 열은 보이는 것처럼 오름차순으로 정렬이 되어있어야한다. 내림차순으로 정렬이 되어 있을 경우, VLOOKUP
에 TRUE
상수를 넣었을때, 원치 않는 값을 반환한다.
이를 바탕으로 위에 기재된 참조 테이블을 이름참조의 배열 상수로 기재하면 아래와 같다. 이름은 점수2로 설정해 주었다.
={0,"F";70,"D";80,"C";90,"B";100,"A"}
열 구분은 ,
행 구분은 ;
로 해주고, 맨 마지막엔 ;
를 넣으면 안된다.
아래와 같이 TRUE
값으로 VLOOKUP
을 세팅해 주면, 등급을 정상적으로 찾아내는 것을 알 수 있다. 이 말은 별도로, 참조 테이블을 시트 내 기재할 필요가 없다는 뜻이다.
IFERROR
함수와 같이 적어준다면, 혹시 모르게 발생할 수 있는 오류의 가능성을 낮출 수 있다.
지난번에 이어, 배열상수에 대해 알아 보았는데, 날짜 구간을 받아오는 등 여러가지 용도로 사용이 가능할 것 같다.
하지만, 배열은 눈에 잘 보이지 않으므로 생각을 할 필요가 있는 부분이라 하겠다.