La fonction FILTERXML renvoie des données spécifiques à partir d’un contenu XML à l’aide du XPath spécifié.
Remarques :
-
La fonction FILTERXML n’est pas disponible dans Excel pour le web et Excel pour Mac.
-
Cette fonction peut apparaître dans la galerie de fonctions de Excel pour Mac, mais elle s’appuie sur les fonctionnalités du système d’exploitation Windows, de sorte qu’elle ne retourne pas de résultats sur Mac.
Syntaxe
FILTRE.XML(xml, XPath)
La syntaxe de la fonction FILTRE.XML contient les arguments suivants.
Argument |
Description |
---|---|
XML Obligatoire |
Chaîne au format XML valide |
xpath Obligatoire |
Chaîne au format XPath standard |
Remarques :
-
Si xml n’est pas valide, FILTERXML renvoie la #VALUE! valeur d’erreur.
-
Si xml contient un espace de noms avec un préfixe qui n’est pas valide, FILTERXML renvoie la #VALUE! Sinon, la fonction INDEX renvoie la valeur d’erreur #REF!.
Exemples
-
Cet exemple utilise la fonction FILTERXML sur les données XML renvoyées dans la cellule B2, qui sont fournies par les résultats de la fonction SERVICE WEB dans la requête Web dans la cellule B1.
Les données de FILTERXML sont renvoyées dans les cellules B3:B5 et C3:C5 et montrent les trois résultats de requête les plus récemment mis à jour sur Wikipédia et l’heure de leur mise à jour (en temps universel coordonné).
Les cellules B3:B5 contiennent la formule =FILTERXML(B3,"//rc/@title »).
Les cellules C3:C5 contiennent la formule =FILTERXML(B3,"//rc/@timestamp »).
Remarque : Si vous avez une version actuelle de Microsoft 365, vous pouvez alors simplement entrer la formule dans la cellule supérieure gauche de la plage de sortie, puis appuyer sur Entrée pour confirmer la formule en tant que formule de tableau dynamique. Sinon, vous devez entrer la formule comme une formule de tableau héritée : sélectionnez la plage de sortie, entrez la formule dans la cellule en haut à gauche de la plage de sortie, puis appuyez sur Ctrl+Maj+Entrée pour confirmer la formule. Excel ajoute automatiquement des accolades au début et à la fin de la formule. Pour plus d’informations sur les formules de tableau, voir Instructions et exemples de formules de tableau.
-
Vous pouvez également utiliser FILTERXML conjointement avec les fonctions ENCODEURL et SERVICE WEB. Par exemple, vous pouvez utiliser le service markitondemand.com api pour renvoyer des informations sur un stock d’entreprise :
=SERVICE WEB(« http://dev.markitondemand.com/MODApis/Api/Quote/xml?symbol="&ENCODEURL(C2))
Où vous avez un indice boursier dans la cellule C2.
Vous pouvez ensuite utiliser la fonction FILTERXML pour extraire des données spécifiques sur cette action. Par exemple, pour obtenir le dernier prix de l’indice boursier dans la cellule C2, vous pouvez utiliser :
=FILTERXML(WEBSERVICE(« http://dev.markitondemand.com/MODApis/Api/Quote/xml?symbol="&ENCODEURL(C2)),"//QuoteApiModel/Data/LastPrice »)
Vous avez besoin d’une aide supplémentaire ?
Vous pouvez toujours poser des questions à un expert de la Communauté technique Excel ou obtenir une assistance dans la Communauté de support.