Utilisation de ArrayFormula avec indirecte pour combiner des feuilles

J'essaie de combiner datatables d'autres feuilles en une seule feuille. Je pensais pouvoir utiliser une formule pour find la dernière ligne dans chaque feuille et combiner avec une masortingce de tableau indirecte mais cela ne fonctionne pas.

Indirecte ("ARRAYFORMULA ({'Sheet1'! A2: J" et 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)))}) ")

Le combo Indirect et ArrayFormula ne semble pas être la réponse car il se détériore – il semble que vous ne pouvez pas exécuter set une formule indirecte et une masortingce.

EDIT: L'utilisation de la formule ci-dessus sans Indirect et la search de la dernière ligne vide combineront les feuilles lorsque je conserverai une longue rangée de rangs, mais elle conserve toutes les lignes vierges et diffuse trop datatables de chaque feuille.

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

C'est pourquoi j'essayais d'utiliser la formule de tableau max pour find la dernière ligne dans chaque feuille pour consolider les lignes vierges.

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

Comme j'ai mal compris votre question, voici une alternative à la formule que vous avez fournie …

 =QUERY({Sheet2!A:J; Sheet3!A:J}, "select * where Col1 <>'' ") 

Dans un google spreadsehet, si vous voulez récupérer la dernière ligne des deux feuilles, vous pouvez essayer:

 ={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)))))} 

Cela placera la dernière ligne de la deuxième feuille dans une rangée sous la dernière ligne de la première feuille. Dans le cas où vous souhaitez que ces lignes apparaissent dans la même ligne, essayez:

 ={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)))))} 

J'ai compris que vous ne pouvez pas utiliser l'indirect à l'extérieur d'une formule de tableau, mais vous pouvez l'utiliser à l'intérieur de {}

  ={INDIRECT("'Sheet1'!A2:J"&MAX(FILTER(ROW(Sheet1!A:J),NOT(ISBLANK(Sheet1!A:A))))) ; INDIRECT("'Sheet2'!A2:J"&MAX(FILTER(ROW(Sheet2!A:J),NOT(ISBLANK(Sheet2!A:A)))))} 

Cela combine les draps parfaitement.