Функцията FILTERXML връща определени данни от XML съдържание с помощта на зададения xpath.
Забележки:
-
Функцията FILTERXML не е налична в Excel за уеб и Excel за Mac.
-
Тази функция може да се появи в галерията с функции в Excel for Mac, но разчита на функциите на операционната система Windows, така че няма да върне резултати на Mac.
Синтаксис
FILTERXML(xml; xpath)
Синтаксисът на функцията FILTERXML има следните аргументи:
Аргумент |
Описание |
---|---|
xml Задължителен |
Низ в валиден XML формат |
xpath Задължителен |
Низ в стандартен формат на XPath |
Забележки:
-
Ако xml не е валиден, FILTERXML връща #VALUE! стойност на грешката.
-
Ако xml съдържа пространство на имената с префикс, който не е валиден, FILTERXML връща #VALUE! стойност на грешката.
Примери
-
Този пример използва функцията FILTERXML на XML данни, върнати в клетка B2, която се предоставя от резултатите от функцията WEBSERVICE в уеб заявката в клетка B1.
Данните от FILTERXML се връщат в клетки B3:B5 и C3:C5 и показват трите последно актуализирани резултата от заявката в Уикипедия и времето на техните актуализации (в UTC, "Координирано универсално време").
Клетките B3:B5 съдържат формулата =FILTERXML(B3;"//rc/@title").
Клетките C3:C5 съдържат формулата =FILTERXML(B3;"//rc/@timestamp").
Забележка: Ако имате текуща версия на Microsoft 365, можете просто да въведете формулата в горната лява клетка на изходния диапазон, след което натиснете ENTER, за да потвърдите формулата като формула за динамичен масив. В противен случай формулата трябва да бъде въведена като наследена формула за масив, като първо изберете изходния диапазон, въведете формулата в горната лява клетка на изходния диапазон и след това натиснете CTRL+SHIFT+ENTER, за да я потвърдите. Excel вмъква къдрава скоби в началото и края на формулата. За повече информация за формулите за масиви вижте Указания и примери за формули за масиви.
-
Можете също да използвате FILTERXML заедно с функциите ENCODEURLи WEBSERVICE. Можете например да използвате услугата за markitondemand.com api, за да върнете информация за фирмени акции:
=WEBSERVICE("http://dev.markitondemand.com/MODApis/Api/Quote/xml?symbol="&ENCODEURL(C2))
Където имате борсова отметка в клетка C2.
След това можете да използвате функцията FILTERXML, за да извлечете конкретни данни за този запас. Например за да получите последната цена на борсовата отметка в клетка C2, можете да използвате:
=FILTERXML(WEBSERVICE("http://dev.markitondemand.com/MODApis/Api/Quote/xml?symbol="&ENCODEURL(C2));"//QuoteApiModel/Data/LastPrice")
Имате нужда от още помощ?
Винаги можете да попитате експерт в техническата общност на Excel или да получите поддръжка в Общността за отговори от.