갈루아의 반서재

Photo by Lukas from Pexels

 

위의 표에서 보듯이 각 행의 가장 우측값(색깔이 들어간 셀의 값)을 가져오는 함수를 만들어보자. 아래 그림과 같이 E2 란에 다음의 함수를 입력하고 아래로 드래그한다.

=LOOKUP(2,1/(A2:C2<>""),A2:C2)

이 함수가 어떻게 작동하는지 하나씩 살펴보자.

먼저 A2:C2<>"" 는 다음과 같이 True, False 값으로 구성된 Array 를 반환한다. 

1 을 앞서 반환된 배열로 나눈 결과로 새로운 배열을 만든다. 그러면 아래와 같이 divide by zero errors (#DIV/0!) 로 구성된 배열을 만들 수 있다. 이 배열이 바로 2번째 인수인 Lookup Vector 이다.

만약 Lookup Vector 에서 Lookup Value 를 찾지못하는 경우에는 다음으로 작은 값을 찾게 된다. 위의 예에서 Lookup Value는 2 인데, 앞선 배열에서 가장 큰 값은 1이다. 따라서 해당 배열의 가장 마지막 1을 찾게 된다. Result Vector 같은 위치에 있는 상응하는 셀의 값을 반환한다.