
아래 요구 사항에 대해 도움을 주시겠습니까?
A열과 B열에 범위를 유지했습니다. 각 범위의 관련 값은 C열에 언급되어 있습니다. 예를 들어 아래를 참조하세요.
| Column A | Column B | Column C |
| 1 | 10 | A |
| 15 | 20 | B |
| 21 | 30 | C |
이제 17과 같은 숫자를 삽입한 또 다른 열 E가 있습니다. 이제 C열의 관련 값을 가져올 수 있도록 이 숫자가 어느 범위에 속하는지 알고 싶습니다. 이 예에서 17은 2행에 있는 15~20의 범위이고 C열의 값은 B입니다. 따라서 17의 그림에서는 출력이 B로 나와야 합니다. 25를 입력하면 출력은 C가 되어야 합니다. 그런데 12를 입력하면 이 숫자는 어떤 범위에도 속하지 않으므로 출력은 #N/A여야 합니다.
이러한 유형의 출력을 얻는 데 사용할 수 있는 Excel 수식이 있는지 알고 싶습니다. 나는 코딩보다는 수식을 사용하는 것을 선호합니다. 이와 관련하여 시간을 내어 안내해 주셔서 감사합니다.
따뜻한 안부 인사, Sridhar
답변1
예, 가능합니다. 작동하려면 테이블에 추가 줄이 필요합니다.
라인을 추가했어요
| 0 | 0 | #N/A |
첫 번째 줄로 테이블에 추가되었으므로 이제 테이블이 차지합니다.A1:C4.
나는 이 INDEX
함수를 사용하여 어떤 줄을 반환해야 할지 결정합니다.
라인을 계산하기 위해 SUMPRODUCT
INDEX가 사용할 행을 계산하는 데 사용합니다.
전체 공식은 다음과 같습니다.
=INDEX(C1:C4,SUMPRODUCT(--(A1:A4<=D1),--(B1:B4>=D1),ROW(C1:C4)))
, 체크인할 값 포함D1
다음을 사용하여 수식을 실행합니다.D1다음을 포함 17
:
=INDEX(C1:C4,SUMPRODUCT(--(A1:A4<=17),--(B1:B4>=17),ROW(C1:C4)))
=INDEX(C1:C4,SUMPRODUCT(--({0,1,15,21}<=17),--({0,10,20,30}>=17),{1,2,3,4}))
=INDEX(C1:C4,SUMPRODUCT(--({True,True,True,False}),--({False,False,True,True}),{1,2,3,4}))
=INDEX(C1:C4,SUMPRODUCT({1,1,1,0}),({0,0,1,1}),{1,2,3,4}))
=INDEX(C1:C4,(1*0*1 + 1*0*2 + 1*1*3 + 0*1*4))
=INDEX(C1:C4,3)
="B"
숫자가 범위를 벗어나면 SUMPRODUCT에서 값의 줄이 같지 않은 부분이 없으므로 0
범위의 첫 번째 값인 #N/A가 반환됩니다. 동일한 12
공식 이지만D1:
=INDEX(C1:C4,SUMPRODUCT(--(A1:A4<=12),--(B1:B4>=12),ROW(C1:C4)))
=INDEX(C1:C4,SUMPRODUCT(--({0,1,15,21}<=12),--({0,10,20,30}>=12),{1,2,3,4}))
=INDEX(C1:C4,SUMPRODUCT(--({True,True,False,False}),--({False,False,True,True}),{1,2,3,4}))
=INDEX(C1:C4,SUMPRODUCT({1,1,0,0}),({0,0,1,1}),{1,2,3,4}))
=INDEX(C1:C4,(1*0*1 + 1*0*2 + 0*1*3 + 0*1*4))
=INDEX(C1:C4,0)
="#N/A"
기술적으로는 아니죠#해당사항 없음, 가능한 모든 답의 배열이지만 배열 수식으로 수식을 입력하지 않았기 때문에 첫 번째 값만 제공합니다.