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