Функція FILTERXML повертає певні дані з вмісту XML за допомогою вказаного xpath.
Примітки.:
-
Функція FILTERXML недоступна в Інтернет-версія Excel та Excel для Mac.
-
Ця функція може міститися в колекції функцій у програмі Excel для Mac, але в ній використовуються можливості операційної системи Windows, тому в операційній системі Mac OS результати не буде повернуто.
Синтаксис
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")
Потрібна додаткова довідка?
Ви завжди можете поставити запитання експерту в спільноті Tech у розділі Excel чи отримати підтримку в спільнотах.