Функция 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.
Данные из 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 . Например, вы можете использовать службу 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")
Дополнительные сведения
Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.