web-dev-qa-db-fra.com

Google Sheets: Comment puis-je combiner plusieurs résultats ImportXML pour plusieurs URL dans une seule colonne?

Je veux récupérer des listes de données de différentes pages sur le Web et j'utilise IMPORTXML pour le faire.

Supposons que j'ai une liste d'URL dans la colonne D.

Selon l'URL, la longueur des résultats peut être différente et je veux les avoir tous dans une seule colonne contiguë.

En A1, j'ai trouvé que la formule

={IMPORTXML(D1, xpath);IMPORTXML(D2, xpath)}

fonctionne pour les deux URL en D1 et D2, mais je veux pouvoir retirer ceci si j'ai beaucoup plus d'URL répertoriées dans la colonne D.

Je vais commencer avec environ 10 URL et en ajouter plus plus tard, et je le ferai avec plus d'un xpath pour plusieurs colonnes pour construire une feuille sur laquelle effectuer des recherches.

Je voudrais juste pouvoir me référer à D:D, Et j'ai essayé cela avec ARRAYFORMULA(), par exemple:

=ARRAYFORMULA(IMPORTXML(D:D, xpath))

n'a pas fonctionné. J'ai pensé que cela exécuterait le IMPORTXML pour chaque élément de la colonne. Il ne comprenait que l'URL en D1.

J'espère une option raisonnable qui ne nécessitera pas que j'étende la première formule pour continuer à répéter IMPORTXML pour chaque ligne de D, puis que lorsque j'ajoute des URL plus tard, pour continuer à étendre le tableau.

1
MarkS

Toutes les fonctions de Google Sheets ne peuvent pas fonctionner avec ArrayFormula. On dirait que les fonctions d'importation (IMPORTDATA, IMPORTHTML, IMPORTRANGE, IMPORTXML) sont ce genre de fonctions. Une réponse similaire https://webapps.stackexchange.com/a/89290/8816 à une question similaire tilisation d'importdata avec arrayformula

Autres questions connexes

1
Rubén