-1

他のシートのデータを 1 つのシートに結合しようとしています。数式を使用して各シートの最後の行を見つけ、間接 ArrayFormula と組み合わせることができると思っていましたが、うまくいきません。

Indirect("ARRAYFORMULA({'Sheet1'!A2:J"&ArrayFormula(MAX(IF(NOT(ISBLANK ('Sheet1'!A1:A10000)), ROW('Sheet1'!A1:A10000),0)))& ";'Sheet2'!A2:J"&ArrayFormula(MAX(IF(NOT(ISBLANK ('Sheet2'!A1:A10000)), ROW('Sheet2'!A1:A10000),0)))})")

間接式と ArrayFormula の組み合わせは、エラーが発生するため、答えではないようです。間接式と配列式を一緒に実行することはできないようです。

編集:間接なしで上記の式を使用し、最後の空白行を見つけると、長い行範囲を保持するとシートが結合されますが、すべての空白行が保持され、各シートのデータが広がりすぎます。

ARRAYFORMULA({'Sheet1'!A2:J100";'Sheet2'!A2:J100)})

これが、max arrayformula を使用して各シートの最後の行を見つけ、空白の行を統合しようとした理由です。

ArrayFormula(MAX(IF(NOT(ISBLANK ('Sheet1'!A1:A10000)), ROW('Sheet1'!A1:A10000),0)))
4

3 に答える 3

1

私はあなたの質問を誤解していたので、ここにあなたが提供した式の代替があります..

=QUERY({Sheet2!A:J; Sheet3!A:J}, "select * where Col1 <>'' ")
于 2014-12-25T21:09:57.957 に答える
0

Googleスプレッドシートで、両方のシートの最後の行を取得したい場合は、次を試すことができます:

={INDEX(Sheet1!A:J, MAX(FILTER(ROW(Sheet1!A:J),NOT(ISBLANK(Sheet1!A:A))))); INDEX(Sheet2!A:J, MAX(FILTER(ROW(Sheet2!A:J),NOT(ISBLANK(Sheet2!A:A)))))}

これにより、2 番目のシートの最後の行が最初のシートの最後の行の下に配置されます。これらの行を同じ行に表示したい場合は、次を試してください。

={INDEX(Sheet1!A:J, MAX(FILTER(ROW(Sheet1!A:J),NOT(ISBLANK(Sheet1!A:A))))), INDEX(Sheet2!A:J, MAX(FILTER(ROW(Sheet2!A:J),NOT(ISBLANK(Sheet2!A:A)))))}
于 2014-12-24T09:44:28.137 に答える