Функція 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 або отримати підтримку в спільнотах.