Веб функции в excel

Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Еще…Меньше

Функция ВЕБСЛУЖБА возвращает данные из веб-службы в Интернете или интрасети.

Примечания: 

  • Функция ВЕБСЛУЖБА доступна только в Excel 2013 г. и более поздних Windows.

  • Функция ВЕБСЛУЖБА может отображаться в коллекции Excel для Mac, но она использует Windows операционных систем, поэтому она не возвращает результаты на компьютере Mac.

Синтаксис

ВЕБСЛУЖБА(URL-адрес)

Аргумент функции ВЕБСЛУЖБА имеет следующий аргумент:

Аргумент

Описание

url   

Обязательно

URL-адрес веб-службы, которая будет называться

Примечания: 

  • Если аргументы не могут вернуть данные, вебСЛУЖБА возвращает #VALUE! ошибку «#ВЫЧИС!».

  • Если аргументы возвращают строку, которая не является допустимой или содержит больше допустимого ограничения в 32767 символов, вебСЛУЖБА возвращает #VALUE! ошибку «#ВЫЧИС!».

  • Если URL-адрес — это строка, которая содержит больше символов, чем 2048 символов, разрешенных для запроса GET, ВЕБСЛУЖБА возвращает #VALUE! ошибку «#ВЫЧИС!».

  • Для протоколов, которые не поддерживаются, например ftp:// или file://, веб#VALUE! ошибку «#ВЫЧИС!».

Пример

Вот пример использования вымышлеемой веб-службы:

=ВЕБСЛУЖБА(«http://mywebservice.com/serviceEndpoint?searchString=Exce»)

Советы: 

  • Для лучших результатов ПЕРЕД включением в формулу URL-адрес ВЕБСЛУЖБЫ должен быть закодирован.

  • Чтобы кодировать URL-адрес, используйте функцию КОДЕОД.URL. Затем со ссылкой на ячейку в формуле ВЕБСЛУЖБА в кодированном URL-адресе.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

Функция КОДИР.URL

Функция ФИЛЬТР.XML

Нужна дополнительная помощь?

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel для iPad Excel для iPhone Excel для планшетов с Android Excel для телефонов с Android Еще…Меньше

Чтобы просмотреть более подробные сведения о функции, щелкните ее название в первом столбце.

Примечание: Маркер версии обозначает версию Excel, в которой впервые появилась функция. Например, маркер версии 2013 означает, что данная функция доступна в выпуске Excel 2013 и всех последующих версиях. Эти функции недоступны в более ранних версиях, а также в Excel в Интернете или Excel для Mac.

Функция

Описание

КОДИР.URL

Excel 2013

Возвращает строку, зашифрованную в виде URL-адреса.

ФИЛЬТР.XML

Excel 2013

Возвращает определенные данные из содержимого XML, используя указанный объект XPath.

ВЕБСЛУЖБА

Excel 2013

Возвращает данные из веб-службы.

Важно: Вычисляемые результаты формул и некоторые функции листа Excel могут несколько отличаться на компьютерах под управлением Windows с архитектурой x86 или x86-64 и компьютерах под управлением Windows RT с архитектурой ARM. Подробнее об этих различиях.

Нужна дополнительная помощь?

импорт данных вебслужба лого

Хотели ли вы когда-нибудь включить данные из интернет-ресурсов в ваши таблицы Excel, таких как курсы валют, погоду, результаты выдачи поисковиков или даже сообщения Twitter. C новым Excel 2013 такая возможность появилась в виде функции ВЕБСЛУЖБА.

Инструменты импорта данных из интернет были реализованы в более ранних версиях и позволяли выгружать информацию с веб страниц. Функция ВЕБСЛУЖБА возвращает данные на лист в формате XML, из которого в последующем можно выбрать необходимые данные с помощью функции ФИЛЬТР.XML. В сегодняшней статье мы рассмотрим возможность импорта курса доллара за недельный период (думаю, на фоне текущей нестабильной ситуации на рынках, эта информация актуальна для многих), по полученным данным построим график для возможности отслеживания тренда изменений

Для начала, необходимо найти веб сервис, который возвращает данные в формате XML. Я воспользовался службами Центробанка, который любезно предоставляет свои API для выгрузки данных. По ссылке вы найдете все действительные на текущий момент запросы банка.

https://www.cbr.ru/scripts/Root.asp?Prtid=SXML

Так как нас интересует недельный тренд доллара США, ищем динамику котировок, она находится под заголовком Example 2. Если мы щелкнем по ссылке этого примера, сервис вернет нам данные по котировкам доллара за период 01/03/2001 по 14/03/2001 в формате XML. Обратите внимание на адресную строку в браузере, здесь находится строка запроса к сервису (она то нам и нужна!!!) с тремя аргументами: Дата С, Дата ПО и идентификационный номер валюты.

сервис центробанка

Изменяя любой из них, сервис ЦБ будет возвращать нужную нам информацию.

Копируем строку с заголовком, открываем книгу Excel, в ячейку B1 вбиваем функцию =ВЕБСЛУЖБА(), где аргументом функции станет, скопированная нами, строка, т.е. =ВЕБСЛУЖБА("https://www.cbr.ru/scripts/XML_dynamic.asp?date_req1=07/08/2013&date_req2=13/08/2013&VAL_NM_RQ=R01235")

синтаксис функции вебслужба

Обратите внимание, функция ВЕБСЛУЖБА вернула ответ в формате XML, такой же как мы видели в браузере. Теперь с полученного ответа необходимо выбрать нужные нам данные. В этом нам поможет функция ФИЛЬТР.XML, которая использует в качестве аргументов два параметра: первый — XML содержимое, второй – объект Xpath — язык запросов к элементам XML-документа, другими словами, это текстовая строка, которая указывает системе, какие конкретные данные необходимо получить из XML содержимого. Вы можете более подробно прочитать о языке Xpath в статье.

Выделяем ячейки A4:A8, жмем F2, вставляем формулу =ФИЛЬТР.XML(B1; "//Record//@Date") и нажимаем сочетание клавиш Ctrl + Shift + Enter, таким образом у нас получилась формула массива, которая выбирает из веб службы даты изменений курсов валют Центробанком. Таким же образом выделяем соседний диапазон B4:B8 и вставляет туда формулу =ФИЛЬТР.XML(B1;»//Value»). У нас должна получиться следующая таблица:

фильтр.xml формула

Так как мой компьютер воспринимает в качестве разделителя дробной части только точку (.), немного подправим формулу, возвращающую курс валют.

замена запятой на точку

Итак, у нас есть статичная таблица изменения курса доллара к рублю за период с 7/08/2013 по 13/08/2013. Так как наша первоначальная задача была – динамическое обновление данных, нам потребуется заменить жестко зафиксированные даты в строке запроса на формулу, которая бы изменяла свое значение в зависимости от текущей даты.

Установим в качестве второго аргумента значение сегодняшней даты плюс один день (т.к. Центробанк устанавливает курс на следующий день), первый аргумент будет равняться второму аргументу минус 6 дней. Зададим обе эти даты в качестве первого и второго аргументов в нашей строке запроса.

динамическая вебслужба

Добавим немного красоты для наглядности, теперь вы точно будете знать, когда начинать сливать валюту)

график курса доллара excel

Стоит отметить, что данную функцию можно применять для импорта данных с любых веб служб, предоставляющих свои API в свободном доступе. Такими службами являются API Яндекс, Twitter, API Google и т.д.

Скачать файл с примером использования функций ВЕБСЛУЖБА и ФИЛЬТР.XML для выгрузки курса доллара.

Резюме

Функция Excel WEBSERVICE возвращает данные из веб-службы. Функция ВЕБ-СЕРВИС доступна только в Excel 2013 и более поздних версиях для Windows.

Цель

Получить данные из веб-службы

Возвращаемое значение

Результирующие данные

Синтаксис

= ВЕБ-СЕРВИС (URL)

Аргументы

  • url — URL-адрес вызываемой веб-службы.

Версия

Excel 2013

Примечания по использованию

Функция WEBSERVICE возвращает данные из веб-службы, размещенной в Интернете. Функция ВЕБ-СЕРВИС доступна только в Excel 2013 и более поздних версиях для Windows.

Веб-служба использует протокол, например HTTP, для извлечения данных в машиночитаемом формате, таком как XML или JSON. Например, формула, которая использует WEBSERVICE для вызова фиктивной веб-службы, размещенной на somewebservice.com, может выглядеть примерно так:

=WEBSERVICE(“http://somewebservice.com/endpoint?query=xxxx”)

Результат функции WEBSERVICE возвращается непосредственно на рабочий лист. В случаях, когда результат веб-службы находится в формате XML, вы можете использовать функцию FILTERXML для анализа XML.

пример

Простым примером веб-службы является RSS, которая используется для синдицирования контента в формате XML. RSS широко доступен и не требует аутентификации, поэтому это простой способ протестировать функцию WEBSERVICE. В приведенном выше примере WEBSERVICE используется для получения последних новостей из НАСА. Формула в B4:

=WEBSERVICE("https://www.nasa.gov/rss/dyn/breaking_news.rss")

RSS использует XML, поэтому результатом является длинная строка XML, содержащая заголовки последних 10 новостных статей, опубликованных НАСА, а также метаинформацию, такую ​​как описание, дата, URL-адрес и т. Д. На следующем экране показаны эти данные в текстовом редакторе:

Разбор результата

Если результатом WEBSERVICE является XML, вы можете использовать функцию FILTERXML для анализа данных. В показанном примере именно так извлекаются данные и заголовок каждой статьи. Формула в B7 извлекает дату и обрезает лишние символы с помощью функции MID, чтобы создать дату, удобную для Excel:

=MID(FILTERXML(B4,"//item/pubDate"),6,11)

Формула в C7 извлекает заголовок:

=FILTERXML(B4,"//item/title")

Заметки

  • Когда WEBSERVICE не может получить данные, он возвращает #VALUE! ошибка.
  • Если результат WEBSERVICE превышает 32767 символов, возвращается #VALUE! ошибка.

The Excel WEBSERVICE function is a Web formula that can return data from a web service on the Internet or an Intranet. This function is available for 2013 and later versions of Excel for Windows. In this guide, we’re going to show you how to use the Excel WEBSERVICE function and also go over some tips and error handling methods.


Supported versions

  • Excel 2013 and later versions for Windows

Excel WEBSERVICE Function Syntax


Arguments

url The URL of the web service

Example

The WEBSERVICE function returns the XML based data from a website or web service on the Internet or an Intranet. The only argument it requires is the URL of the website or web service. If the connection is successful, the formula cell will show the XML output.

In the example below, we used a web service that returns the current stock prices when you enter the stock symbol (i.e. “MSFT” for Microsoft Corp.).

http://dev.markitondemand.com/Api/Quote/xml?symbol=MSFT

Here, we copy and paste the URL into any cell (i.e. B2) and use the WEBSERVICE function with the reference of the URL cell.

excel webservice

You can use FILTERXML function to simply parse an XML value. For example, to get the Name value under the QuoteApiModel and Data branches, use a formula like this:

=FILTERXML(B2,»//QuoteApiModel/Data/Name»)

Note: The cell B2 is where the WEBSERVICE function is.

excel webservice

Download Workbook


Tips

  • Web services are a great way to send and receive data over the internet. The object based data moves between web-based applications and software, in XML or JSON forms. Stock prices, weather forecasts, and geographical data are common examples of utilizing web services.
  • The FILTERXML function can help parse values from the returned XML data.
  • You can use the ENCODEURL function to generate valid URLs.
  • Microsoft states that the WEBSERVICE function may appear in the Excel for Mac function gallery, but it doesn’t work on the Mac version, because of the function’s dependencies on Windows operating system features.

Issues

  • The WEBSERVICE function returns the #VALUE! error  under these conditions:
    • Invalid URL or missing protocols such as ftp:// or file://
    • Invalid return value
    • If return string is longer than the cell limit of 32,767 characters
  • If the URL is longer than the GET request limit of 2,048 characters

Понравилась статья? Поделить с друзьями:
  • Веб ссылки в word
  • Веб приложение microsoft word
  • Веб надстройка excel что это
  • Веб документ в word это
  • Ввод формула в excel начинается со знака