엑셀 함수 > 찾기 및 참조영역 함수 > 엑셀에서 연속되지 않은 구간의 값 찾기

엑셀에서 연속되지 않은 구간의 값 찾기

다음 그림과 같은 엑셀 자료가 있을 때 특정 값이 어떤 구간에 존재하는지 찾아보겠습니다.

엑셀함수 LOOKUP - 행 또는 열의 같은 위치에 있는 값 찾기

위 자료를 그림으로 표현하면 다음과 같습니다. 값이 연속되는 것이 아니라 중간 중간 비어 있는 구간이 있어서 원하는 값을 찾기가 어렵습니다.

 

예를 들어 650이라는 값은 A002 구간에 있는 값인데 이 값을 다음 수식으로 구할 수 있습니다.

=LOOKUP(2,1/((650>=C5:C7)*(650<=D5:D7)),B5:B7)

수식이 아주 복잡합니다. 배열수식을 알아야 이해되는 수식입니다.

설명을 따라가 보겠습니다.

다음 그림처럼

  • 수식이 입력된 셀을 선택한 후
  • 수식입력줄에서 "(650>=C5:C7)"을 마우스를 드래그하여 선택하고
  • [F9] 키를 누르면 {TRUE;TRUE;FALSE}로 바뀝니다.

엑셀함수 LOOKUP - 행 또는 열의 같은 위치에 있는 값 찾기

{TRUE;TRUE;FALSE}와 같이 중괄호로 표시된 부분이 배열인데 다음 그림과 같이 표현할 수 있습니다.

엑셀함수 LOOKUP - 행 또는 열의 같은 위치에 있는 값 찾기

[C5:C7] 범위에서 650보다 작거나 같은 셀은 첫번째,두번째이므로 첫번째,두번째가 각각 TRUE로 표시되고 마지막은 650보다 큰 1200이므로 FALSE가 표시됩니다.

위와 마찬가지로

  • 수식입력줄에서 "(650<=D5:D7)"을 마우스를 드래그하여 선택하고
  • [F9] 키를 누르면 {FALSE;TRUE;TRUE}로 바뀝니다.

엑셀함수 LOOKUP - 행 또는 열의 같은 위치에 있는 값 찾기

위의 배열은 다음과 같 표현할 수 있습니다.

엑셀함수 LOOKUP - 행 또는 열의 같은 위치에 있는 값 찾기

[D5:D7] 범위에서 650보다 크거나 같은 셀은 두 번째, 세 번째이므로 두 번째,세 번째가 각각 TRUE로 표시되고 첫번째는 FALSE로 표시됩니다.

이번에는 "((650>=C5:C7)*(650<=D5:D7))" 선택하고 [F9] 키를 눌러보세요.

{0;1;0}이 표시됩니다.

앞 수식의 결과와 뒷수식의 결과가 곱해진 결과입니다.

엑셀에서

  • TRUE는 숫자 1과 같고
  • FALSE는 0과 같으므로
  • C열의 연산결과와 D열의 연산결과를 각각 곱하면
  • 최종적으로 두번째 행만 1이 구해집니다.

650이라는 숫자가 포함되는 범위는 표에서 2번째 행이라는 뜻입니다.

엑셀함수 LOOKUP - 행 또는 열의 같은 위치에 있는 값 찾기

이제 2번째 행을 찾았으므로 두번째 행의 No.인 "A002"만 구하면 됩니다.

수식입력줄에서 "1/((650>=C5:C7)*(650<=D5:D7))"을 선택하고 [F9] 키를 누르면
{#DIV/0!;1;#DIV/0!} 이 표시됩니다.

위에서 "((650>=C5:C7)*(650<=D5:D7))"을 연산하면 {0;1;0}이 되는데

숫자 1을 배열의 각 요소로 나누면 각각

1/0, 1/1, 1/0 이 되고 첫번째와 마지막은 0으로 나누어 #DIV/0!오류가 발생하므로

{#DIV/0!;1;#DIV/0!}이 구해집니다.

엑셀함수 LOOKUP - 행 또는 열의 같은 위치에 있는 값 찾기

이제 =LOOKUP(2,{#DIV/0!;1;#DIV/0!},B5:B7)가 무엇을 의미하는지 보겠습니다.

다음 그림과 같이 {#DIV/0!;1;#DIV/0!} 배열에서 값을 찾았는데 2는 없으므로 2보다 작고 가장 가까운 값인 1을 찾고 [B5:B7] 범위에서 같은 행에 있는 "A002"가 반환되는 것입니다.

엑셀함수 LOOKUP - 행 또는 열의 같은 위치에 있는 값 찾기

 

만약 범위에 없는 값 550을 찾으면 어떻게 되는지 확인해 보겠습니다.

=LOOKUP(2,1/((550>=C5:C7)*(550<=D5:D7)),B5:B7)

550은 어떤 범위에도 없는 값이므로 "#N/A"가 반환됩니다.

 

 


관련 글

배열수식 이해하기 엑셀 배열수식 제대로 이해하기 - 이번 글에서는 엑셀의 배열수식을 알아보겠습니다. 배열수식을 사용하면 복잡한 문제를 간단히 해결할 수도 있고 여러 방면으로 쓸모가 있지만 이해하기가 쉽지 않고…

엑셀 배열수식 제대로 이해하기 더 보기 »

LOOKUP 함수 사용법 LOOKUP 함수 - 범위에서 값 찾기 - 엑셀 LOOKUP 함수는 이름 그대로 뭔가를 찾는 함수입니다. 비슷한 함수로 VLOOKUP, HLOOKUP이 있습니다. 이들 함수와 사용법도 비슷하고 기능도 비슷하지만 LOOKUP…

LOOKUP 함수 - 범위에서 값 찾기 더 보기 »

엑셀웍스 책 출간 안내

그동안 엑셀웍스에 올린 '엑셀 강좌', '함수 사용법', 여러 '실무 예제'에서 핵심만 뽑아 '된다! 엑셀 수식 & 함수' 책으로 출간하였습니다.

 자세히 보기

온라인 구매처: 예스24   교보문고   알라딘 

댓글 남기기

Scroll to Top