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