2017-10-23 3 views
0

Excelの機能に問題があります。MATCH、INDEX、OFFSETを組み合わせたExcel式

シートAで、セルF2の右側にx列にあるセルの値を取得したいとします。 Xは可変数であり、セルA1の値によって決まります。現在、値は5です。

=(OFFSET(sheetA!F2,0,sheetA!A1)) 

この式が機能します。しかし、私は別のシート(B)にあるMATCHとINDEX関数にこの関数を含める必要があります。

=INDEX((OFFSET(sheetA!F2,0,sheetA!A1)),MATCH(sheetB!C4,sheetA!A:A,0)) 

この式は、#REFを生成します。

は、私は、以下の式で結果をそれらを組み合わせる$ F $ 2

INDEX(sheetA!F:F,MATCH(sheetB!C4,sheetA!A:A,0)) 

の値を取得するには、次の式を使用することができます知っています! -値。

=INDEX((OFFSET(sheetA!$F$2,0,5)),MATCH(sheetB!C4,sheetA!A:A,0)) 
=INDEX((sheetA!$K$2),MATCH(sheetB!C4,sheetA!A:A,0)) 
=INDEX((sheetA!$K$2),MATCH("BTC",sheetA!A:A,0)) 
=#REF! 

は、なぜ私はMATCHとINDEXを使用したくない:私は式を評価する場合

、私は、次の手順を参照してください? シートAの値は「固定」なので、sheetB!C4の値は浮動/可変です。したがって、正しい行を最初に見つけ出す必要があります。正しい列はオフセット部分で行うことができます。

ありがとうございました。アレイは、セルの範囲であり、

答えて

1

INDEXの構文この

=INDEX((OFFSET(SheetA!F:F,0,SheetA!A1)),MATCH(SheetB!C4,SheetA!A:A,0)) 

を試しは

INDEX(array, row_num, [column_num]) 

あります。 =INDEX((OFFSET(sheetA!F2,0,sheetA!A1)),MATCH(sheetB!C4,sheetA!A:A,0))を使用すると、(OFFSET(sheetA!F2,0,sheetA!A1))は、範囲外のセルであるsheetA!$K$2を返します。