유효성 검사로 드랍다운 메뉴를 사용하는 때를 생각해 보자. 다른 값이 들어오는 것을 막을 때 주로 사용하지만, 특정값이 들어왔을때, VLOOKUP 함수를 사용하여, 다른 테이블을 참조한 값을 넣어줄 때, 많이 사용한다.
주로 참조를 해야하는 값의 수가 적고, 자주 변하지 않는 경우에 사용하게 되는데, 이 과정이 귀찮으므로, 대안을 검토할 가치가 있다.
아래 예시를 보자.
학생 이름이 있고, 학점이 있다. 학점은 그 수가 많지 않으므로, 드랍다운 메뉴든 뭐든 처리를 한다고 치자. 옆 열에 기재된 영문 학점에 대해 4점 환산을 하고 싶다면, IF 함수를 쓰는 방법도 있고, 간이 참조 테이블을 만들어서, VLOOKUP처리를 하는 방법도 있다.
간이테이블을 참조하는 VLOOKUP은 그 어딘가에서 간이테이블을 유지해야한다는 부담이 있다. 다른 방법인 IF 함수는 수식이 길다는 단점이 있다. 또 다른 방법을 찾아야 한다.
요즘 배열수식에 빠져있는터라, 아래 배열상수를 사용한 방법을 어디선가 보게 되었다. 이름정의를 통해 배열로 간이 테이블을 만들어 주는 방법이다. 이름정의 참조 영역에 아래와 같이 배열로 테이블은 만든다.
={"A",4;"B",3;"C",2;"D",1}
열구분은 , 행구분은 ; 로 해준다. 4행 2열로 위의 이미지와 동일한 테이블이 만들어졌다. 정의된 이름은 학점이다.
수식을 담은 이미지가 날아갔는데, 기존 VLOOKUP 함수에서 참조영역을 정의된 이름, 학점으로 변경해주연 아래와 같이 동일한 값을 얻을 수 있다.
=VLOOKUP(C6, 학점, 2, FALSE)
이로서 IF안의 IF안의 IF안의 IF 함수의 수렁에서 잠시 빠져나올 수 있다.