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