Функция FILTERXML возвращает определенные данные из XML-содержимого, используя указанный xpath.
Примечания:
-
Функция FILTERXML недоступна в Excel в Интернете и Excel для Mac.
-
Эта функция может отображаться в коллекции функций Excel для Mac, но она работает с функциями операционной системы Windows, поэтому она не возвращает результатов на компьютере Mac.
Синтаксис
ФИЛЬТР.XML(xml; xpath)
Аргументы функции ФИЛЬТР.XML указаны ниже.
Аргумент |
Описание |
---|---|
xml Обязательный |
Строка в допустимом формате XML |
xpath Обязательный |
Строка в стандартном формате XPath |
Примечания:
-
Если xml не является допустимым, то фильтрXML возвращает #VALUE! значение ошибки #ЗНАЧ!.
-
Если xml содержит пространство имен с не допустимым префиксом, то фильтрXML возвращает #VALUE! значение ошибки #ЗНАЧ!.
Примеры
-
В этом примере используется функция FILTERXML для данных XML, возвращенных в ячейку B2 ( это результаты функции ВЕБСЛУЖБА в веб-запросе в ячейке B1).
Данные фильтраXML возвращаются в ячейки B3:B5 и C3:C5 и показывают три результата запроса по Википедии с последними обновлениями и время их обновления (в UTC, "Время в UTC").
Ячейки B3:B5 содержат формулу =FILTERXML(B3;"//rc/@title").
Ячейки C3:C5 содержат формулу =FILTERXML(B3;"//rc/@timestamp").
Примечание: Если у вас установлена текущая версия Microsoft 365, можно просто ввести формулу в верхней левой ячейке диапазона вывода и нажать клавишу ВВОД, чтобы подтвердить использование формулы динамического массива. Иначе формулу необходимо вводить с использованием прежней версии массива, выбрав диапазон вывода, введя формулу в левой верхней ячейке диапазона и нажав клавиши CTRL+SHIFT+ВВОД для подтверждения. Excel автоматически вставляет фигурные скобки в начале и конце формулы. Дополнительные сведения о формулах массива см. в статье Использование формул массива: рекомендации и примеры.
-
Функцию FILTERXML также можно использовать в сочетании с функциями КОДЕ.URL и ВЕБСЛУЖБА. Например, с помощью службы markitondemand.com API можно получить сведения об акциях компании:
=ВЕБСЛУЖБА("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 Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.