Функция 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, которая предоставляется результатами функции WEBSERVICE в веб-запросе в ячейке B1.
Данные из FILTERXML возвращаются в ячейках B3:B5 и C3:C5 и отображают три последних обновленных результата запроса в Википедии и время их обновления (в формате UTC, "Скоординированное универсальное время").
Ячейки B3:B5 содержат формулу =FILTERXML(B3,"//rc/@title").
Ячейки C3:C5 содержат формулу =FILTERXML(B3,"//rc/@timestamp").
Примечание: Если у вас установлена текущая версия Microsoft 365, можно просто ввести формулу в верхней левой ячейке диапазона вывода и нажать клавишу ВВОД, чтобы подтвердить использование формулы динамического массива. Иначе формулу необходимо вводить с использованием прежней версии массива, выбрав диапазон вывода, введя формулу в левой верхней ячейке диапазона и нажав клавиши CTRL+SHIFT+ВВОД для подтверждения. Excel автоматически вставляет фигурные скобки в начале и конце формулы. Дополнительные сведения о формулах массива см. в статье Использование формул массива: рекомендации и примеры.
-
Вы также можете использовать FILTERXML в сочетании с функциями ENCODEURL и WEBSERVICE . Например, вы можете использовать службу API markitondemand.com для возврата сведений о акции компании:
=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")
Дополнительные сведения
Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.