2014-01-14 6 views
1

INDIRECT()를 사용하여 정의 된 숫자 값을 기반으로 VLOOKUP() 함수의 범위를 설정하려고합니다. VLOOKUP() 수식을 통해 스테핑 할 때 INDIRECT() 함수는 내 용도에 맞는 범위로 나타나는 것을 반환합니다. 그러나 수식을 실행할 때 "# N/A"오류가 반환되며 이유가 확실하지 않습니다.INDIRECT()를 사용하여 VLOOKUP()으로 동적 범위를 설정하십시오.

좀 더 맛을 내기 위해 LEFT() 및 ADDRESS()를 사용하여 맨 위 행에있는 별도 값의 MATCH()를 기반으로하는 열 머리글 문자를 결정했습니다. 고정 오프셋을 사용하면 MATCH() 함수가 올바른 열 머리글을 반환하고 범위 크기에 대한 상수를 제공합니다. 다음은 내 공식이다 :

=VLOOKUP(5,$DW$1:$DX$29,2,TRUE) 

이되지 않습니다 : 최종 계산 전에 마지막 단계를 단계별로 때 다음 아래로 응축 것처럼

=VLOOKUP(J2,INDIRECT("$"&LEFT(ADDRESS(1,MATCH($H2,ZAS_Lookup,0)+8,4),1+(MATCH($H2,ZAS_Lookup,0)+8>26))&"$1:$"&LEFT(ADDRESS(1,MATCH($H2,ZAS_Lookup,0)+9,4),1+(MATCH($H2,ZAS_Lookup,0)+9>26))&"$29"),2,TRUE) 

내가 언급 한 바와 같이, 공식이 나타납니다 그러나 # N/A를 반환하기 때문에 대/소문자. 왜 그런가? 범위를 동적으로 설정하려면 다른 기능을 사용해야합니까?

+0

직접'= VLOOKUP (5, $ DW $ 1 : $ DX $ 29,2, TRUE)'를 사용하면 어떻게됩니까? –

+0

"_lookup_value_가 _table_array_의 첫 번째 열에있는 가장 작은 값보다 작은 경우, 'VLOOKUP'은 MS 설명서에서'# N/A' 오류 값을 반환합니다. 너에게 사실인가? http://office.microsoft.com/en-us/excel-help/vlookup-HP005209335.aspx –

+0

직접 사용했기 때문에 왜 그렇게 혼란 스러웠습니다. 그러나, 간접적 인 사용하면 탭 이름을 포함 할 필요가 있다는 사실을 간과했는데 테이블이 조회와 동일한 탭에 있더라도 믿습니다. – Nate

답변

0

테이블이있는 탭의 이름을 지정해야한다는 것을 알았습니다. 단순히 범위를 설정하는 것만으로는 충분하지 않습니다. Excel 시트에 어떤 시트가 있는지도 알려줘야했습니다.