web-dev-qa-db-fra.com

Présenter la sortie importXML dans l'ordre inverse

Comment inverser l'ordre de la sortie de imporxml? Par exemple, =importxml("http://example.com","//p") sorties

+---+---------------------+
| 1 | This domain is ...  |
| 2 | More information... |
+---+---------------------+

et je veux

+---+---------------------+
| 1 | More information... |
| 2 | This domain is ...  |
+---+---------------------+

Je connais différentes manières d'inverser une plage déjà présente dans une feuille, par exemple

=query({A:A, arrayformula(row(A:A))}, "select Col1 where Col1 <> '' order by Col2 desc") 

affiche les cellules non vides de la colonne A dans l'ordre inverse. Cependant, je voudrais inverser l'ordre sans l'étape intermédiaire consistant à placer la sortie dans la feuille. Essayer arrayformula(row(importxml(...))) génère une erreur: "L'argument doit être une plage".

2
user79865

Utilisez COUNTA et ARRAY_CONSTRAIN pour définir la taille du tableau de nombres séquentiels à utiliser comme colonne de tri. Exemple:

=ARRAYFORMULA(ARRAY_CONSTRAIN(ROW(A:A),COUNTA(IMPORTXML(range,xpath)),1))

La formule finale devrait ressembler à ceci:

 = ARRAYFORMULA (
 ARRAY_CONSTRAIN (
 SORT ([.________ : A), COUNTA (IMPORTXML (url, xpath)), 1)) 
}, 
 2, 
 FALSE 
), 
 1E100 ,
     1
   )
 )
1
Rubén