3

MAXを探して、INDIRECTを使用してシートの範囲とそれらのシートのセルの範囲を参照しようとしています。これらのどちらも機能しません:

=MAX(INDIRECT("1:"&last_sheet&"!G"&ROW()&":K"&ROW()))
=MAX(INDIRECT("1:6!G"&ROW()&":K"&ROW()))

ただし、これは行います (ただし、1 つのシートのみを参照します: 1):

=MAX(INDIRECT("1!G"&ROW()&":K"&ROW()))

これも同様です (ただし、INDIRECT は使用しません)。

=MAX('1:6'!G6:K6)

INDIRECT は、さまざまなシートでは使用できないようです。私が間違っている理由を教えてください。

4

3 に答える 3

0

あなたはおそらく正しいようです。次の回避策は醜いですが、機能します。 =MAX(MAX(INDIRECT("'1'!B1:C2")),MAX(INDIRECT("'2'!B1:C2")),MAX(INDIRECT("'3'!B1:C2")))

于 2015-07-16T17:41:56.563 に答える
0

上記のソリューションと同様に、配列数式を試すこともできます。ただし、これには、各シート (できれば各シートの同じセル) で MAX 関数を実行する必要があります。たとえば、シート '1' では、セル D1 に MAX(B2:C2) があり、シート '2'、シート '3' などでも同じです。次に、集計シートで次の配列数式を使用します。

=MAX(N(INDIRECT(ADDRESS(1,4,,,ROW(INDIRECT("A1:A"&last_sheet))))))

次にCtrl+ Shift+Enterを押して、配列数式として入力してください。

これは、「last_sheet」がたとえば 6 のような整数値であると想定し、その範囲文字列 (「A1:A6」) を作成し、これを INDIRECT に渡し、それを ROW() に渡し、1:6 の配列を提供します。この配列は、6 つのシートそれぞれのセル D1 に参照の配列を作成する ADDRESS のシート名のリストとして使用されます。配列は #VALUE! を返す INDIRECT に渡されます。エラーの配列を N() に渡すまで、エラーが発生します。最後に、max は配列内の最大値を返します。「フォーミュラの評価」を使用して、それがどのように分解されるかを段階的に確認できますが、これが良い出発点になることを願っています!

于 2016-08-11T15:18:56.660 に答える