인덱스 일치를 사용하여 값을 가져오려고 하는 명명된 범위(DATA_DUMP_GROCERY)가 있습니다. 내 공식은 다음과 같습니다.
=INDEX(DATA_DUMP_GROCERY,MATCH(Confectionery!$B$15,DATA_DUMP_GROCERY,0),4)
보시다시피 저는 Index와 Match를 함께 사용할 때 일반적으로 하는 것처럼 숫자와 함께 사용할 열을 지정하려고 합니다. 그러나 이 방법은 작동하지 않습니다. #N/A 오류가 발생합니다.
내 배열 내의 특정 행에 대한 값을 추출하려면 어떻게 해야 합니까?
답변1
INDEX/MATCH
데이터 테이블인 명명된 범위를 완벽하게 사용할 수 있습니다. 2차원 데이터(테이블)가 사용하는 장소에서 허용되는 경우.
그러나 두 가지 다른 장소에서 사용하므로 두 가지 다른 것이 필요합니다.
공식의 실제 INDEX()
부분에서는 먼저 모든 항목의 기반이 되는 범위를 지정해야 합니다. 당신은 DATA_DUMP_GROCERY
그 범위이기 때문에 그렇습니다 . 완벽하게 괜찮습니다. DATA_DUMP_GROCERY
는 아마도 2차원 데이터 테이블일 것이므로 이것이 바로 가장 일반적으로 사용되는 INDEX()
요구사항이며 기능이 만족스러운 것입니다.
그러나 동일한 명명된 범위를 제공 MATCH()
하지만 검사하려면 단일 열이 필요합니다. (실제로 여러 열을 만들 수 있는 방법이 있지만 여러분이 했던 것과는 다릅니다.) 두 개 이상의 열이 있는 데이터 테이블을 제공했기 때문에 실패합니다. 그 실패로 인해 모든 것이 실패하게 됩니다.
INDEX()
inside를 사용하여 MATCH()
명명된 범위에서 단일 열을 추출하고 이를 에 제공할 수 있습니다. MATCH()
또는 단일 열 주소 참조를 입력하거나 해당 주소를 보유하는 다른 명명된 범위를 만들 수도 있습니다.
내가 선호하는 것은 매우 간단한 것입니다. 첫 번째 생각은 INDEX()
inside 를 사용하는 것 MATCH()
입니다.
=INDEX(DATA_DUMP_GROCERY,MATCH(Confectionery!$B$15,
INDEX( DATA_DUMP_GROCERY,,1 , 0),4)
그에 대한 매개 변수는 INDEX()
간단하고 간단하기 때문에 쉽습니다. 그렇죠? 모든 행과 조회 데이터가 있는 열 번호(위 수식의 열 1)를 원하므로 ROW에 대해서는 아무 것도 필요하지 않습니다.
그러면 모든 것이 아주 잘 작동할 것입니다.