Funkcja FILTERXML zwraca określone dane z zawartości XML przy użyciu określonego ciągu xpath.
Uwaga
- Funkcja FILTERXML nie jest dostępna w Excel dla sieci web i Excel dla komputerów Mac.
- Ta funkcja może być wyświetlana w galerii funkcji w Excel dla komputerów Mac, ale korzysta z funkcji systemu operacyjnego Windows, więc nie zwraca wyników na komputerze Mac.
Składnia
FILTERXML(xml, xpath)
W składni funkcji FILTERXML występują następujące argumenty.
| Argument | Opis |
|---|---|
|
Xml Wymagane |
Ciąg w prawidłowym formacie XML |
|
Xpath Wymagane |
Ciąg w standardowym formacie XPath |
Uwaga
- Jeśli kod XML jest nieprawidłowy, funkcja FILTERXML zwraca #VALUE! wartość błędu #ADR!.
- Jeśli plik xml zawiera obszar nazw z nieprawidłowym prefiksem, funkcja FILTERXML zwraca #VALUE! wartość błędu #ADR!.
Przykłady
W tym przykładzie użyto funkcji FILTERXML na danych XML zwróconych w komórce B2, która jest dostarczana przez wyniki funkcji WEBSERVICE w zapytaniu sieci Web w komórce B1.
Dane z filtru FILTERXML są zwracane w komórkach B3:B5 i C3:C5 i wyświetlają trzy ostatnio zaktualizowane wyniki zapytania w Wikipedii oraz czas ich aktualizacji (w czasie UTC , "Skoordynowany czas uniwersalny").
Komórki B3:B5 zawierają formułę =FILTERXML(B3;"//rc/@title").
Komórki C3:C5 zawierają formułę =FILTERXML(B3;"//rc/@timestamp").Uwaga
Jeśli masz bieżącą wersję platformy Microsoft 365, możesz po prostu wprowadzić formułę w lewej górnej komórce zakresu wyjściowego, a następnie nacisnąć klawisz ENTER , aby potwierdzić formułę jako dynamiczną formułę tablicową. W przeciwnym razie należy wprowadzić formułę jako starszą formułę tablicową, zaznaczając najpierw zakres wyjściowy, wprowadzając formułę w lewej górnej komórce zakresu wyjściowego i następnie naciskając klawisze CTRL+SHIFT+ENTER w celu jej potwierdzenia. Program Excel wstawi na początku i końcu formuły nawiasy klamrowe. Aby uzyskać więcej informacji na temat formuł tablicowych, zobacz Wskazówki i przykłady dotyczące formuł tablicowych.
Funkcji FILTERXML można także używać w połączeniu z funkcjami ENCODEURL i WEBSERVICE . Za pomocą usługi interfejsu API markitondemand.com można na przykład zwrócić informacje o stanie akcji firmy:
=WEBSERVICE("http://dev.markitondemand.com/MODApis/Api/Quote/xml?symbol="&ENCODEURL(C2))
Gdzie w komórce C2 znajduje się telegraf giełdowy.
Następnie możesz użyć funkcji FILTERXML, aby wyodrębnić określone dane dotyczące tego zasobu. Aby na przykład pobrać wartość Ostatnia cena telegrafu giełdowego w komórce C2, możesz użyć następujących funkcji:
=FILTERXML(WEBSERVICE("http://dev.markitondemand.com/MODApis/Api/Quote/xml?symbol="&ENCODEURL(C2));"/QuoteApiModel/Data/LastPrice")
Potrzebujesz dodatkowej pomocy?
Zawsze możesz zadać pytanie ekspertowi w społeczności technicznej programu Excel lub uzyskać pomoc techniczną w społecznościach.