2016-05-04 8 views
0

Excelスプレッドシートで問題が発生しましたが、いくつかのガイダンスが必要です。私は複数のタブがあるスプレッドシートを持っていて、 "Matrix"タブではRows 72:191のセルに "1"がある場合は、'Matrix Patch' Row 1:1というセルをB2に索引付けしようとしています。現在使用している式は次のとおりです。複数の行のExcel INDEX MATCH式

=INDEX('Matrix Patch'!1:1,MATCH(1,'Matrix Patch'!72:191,0)) 

答えは常にN/Aです。

私が使用している場合、それは仕事を得ることができます:

=INDEX('Matrix Patch'!1:1,MATCH(1,'Matrix Patch'!72:72,0)) 

が、「1」は、任意の提案は、行72

に存在する場合にのみ動作すること?

+0

フォーマットの前に空白行を置き、数式を4桁のスペースで始めることができます。私はあなたのためにそれを編集しようとしましたが、それは編集を許すための変更が少なすぎました。 –

+0

私はあなたが何をしようとしているのかをB2で指摘できません。あなたは行1:1について話し、次に72:191について話します。 b2のインデックスで何を意味するのかをもう少し説明してください。 –

+0

INDEX/MATCHは最初の値のみを返します。これは、あなたの望むことですか。いずれかの列の最下位列の最初の「1」? –

答えて

0

Matchは1次元配列に対してのみ機能するため、別のものを使用する必要があります。

まただから我々は、次を使用し

任意の答えは、配列数式できなくなりますし、我々はデータセットの列にそれを制限する必要があり、何の完全な行参照:

=INDEX('Matrix Patch'!A1:INDEX('Matrix Patch'!1:1,MATCH("ZZZ",'Matrix Patch'!1:1)),AGGREGATE(15,6,COLUMN('Matrix Patch'!A72:INDEX('Matrix Patch'!191:191,MATCH("ZZZ",'Matrix Patch'!1:1)))/('Matrix Patch'!A72:INDEX('Matrix Patch'!191:191,MATCH("ZZZ",'Matrix Patch'!1:1))),1)) 

これは、その最初の列を返します。 1は行72から91にあります。

前述のように、配列の計算式では、完全な列参照または完全行参照を避ける必要があります。私はINDEX('Matrix Patch'!1:1,MATCH("ZZZ",'Matrix Patch'!1:1))を入れます。これは、テキストを持つ行1の最後の列を見つけて、それを最後の列として設定します。

行1:1にテキストではなく数値がある場合は、"ZZZ"1E+99に変更する必要があります。次に、行1の数値を持つ最後の列を見つけます。

関連する問題