INDIRECT() を使用して、定義された数値に基づいて VLOOKUP() 関数の範囲を設定しようとしています。VLOOKUP() 式をステップ実行すると、INDIRECT() 関数は、私の目的に適した範囲と思われる値を返します。ただし、式を実行すると「#N/A」エラーが返され、その理由はわかりません。
もう少し味を出すために、LEFT() と ADDRESS() を使用して、一番上の行の別の値の MATCH() に基づいて列見出しの文字を決定しています。固定オフセットを使用すると、MATCH() 関数は正しい列ヘッダーを返し、範囲サイズの定数を指定します。以下は私の式です:
=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)
前述したように、最終的な計算の前の最後のステップに進むと、式は次のように凝縮されているように見えます。
=VLOOKUP(5,$DW$1:$DX$29,2,TRUE)
ただし、#N/A が返されるため、これは当てはまりません。理由はありますか?範囲を動的に設定するには、別の関数を使用する必要がありますか?