Как в excel сделать привязку к курсу?

Импорт курса валют из интернета

Импорт курса заданной валюты из интернета с автоматическим обновлением — весьма частая задача для многих пользователей Microsoft Excel. Представьте, что у вас есть прайс-лист, который должен пересчитываться каждое утро в соответствии с курсом. Или бюджет проекта. Или стоимость договора, которую надо посчитать, используя курс доллара на дату заключения договора.

В подобных ситуациях можно решить проблему по разному — всё зависит от того, какая версия Excel у вас установлена и какие надстройки поверх неё стоят.

Способ 1. Простой веб-запрос для текущего курса валют

Этот способ подойдет тем, у кого на компьютере пока ещё старые версии Microsoft Office 2003-2007. Он не использует никаких сторонних надстроек или макросов и оперирует только встроенными функциями.

Нажмите кнопку Из интернета (Web) на вкладке Данные (Data) . В появившемся окне в строку Адрес (Address) введите URL сайта, с которого будет браться информация (например http://www.finmarket.ru/currency/rates/) и нажмите клавишу Enter .

Когда страница загрузится, то на таблицах, которые Excel может импортировать, появятся черно-желтые стрелки. Щелчок по такой стрелке помечает таблицу для импорта.

Когда все необходимые таблицы помечены — нажмите кнопку Импорт (Import) внизу окна. Спустя некоторое время, нужное для загрузки данных, содержимое отмеченных таблиц появится в ячейках на листе:

Для дополнительной настройки можно щелкнуть по любой из этих ячеек правой кнопкой мыши и выбрать в контекстном меню команду Свойства диапазона (Data range properties) . В этом диалоговом окне, при желании, возможно настроить периодичность обновления и другие параметры:

Котировки акций, т.к. они меняются каждые несколько минут, можно обновлять почаще (флажок Обновлять каждые N мин.), а вот курсы валют, в большинстве случаев, достаточно обновлять раз в день (флажок Обновление при открытии файла).

Обратите внимание, что весь импортированный диапазон данных воспринимается Excel как единое целое и получает собственное имя, которое можно увидеть в Диспетчере имен на вкладке Формулы (Formulas — Name Manager) .

Способ 2. Параметрический веб-запрос для получения курса валют на заданный интервал дат

Этот способ представляет собой слегка модернизированный первый вариант и дает пользователю возможность получать курс нужной валюты не только на текущий день, но и на любую другую интересующую дату или интервал дат. Для этого наш веб-запрос надо превратить в параметрический, т.е. добавить к нему два уточняющих параметра (код нужной нам валюты и текущую дату). Для этого делаем следующее:

1. Создаем веб-запрос (см. способ 1) к странице сайта Центробанка России с архивом курсов: http://cbr.ru/currency_base/dynamics.aspx

2. В форме слева выбираем нужную валюту и задаем начальную и конечную даты:

3. Жмем кнопку Получить данные и через пару секунд видим таблицу с нужными нам значениями курса на заданном интервале дат. Прокручиваем полученную таблицу вниз до упора и помечаем ее для импорта, щелкнув по черно-желтой стрелке в левом нижнем углу вебстраницы (только не спрашивайте почему эта стрелка находится там, а не рядом с таблицей — это вопрос к дизайнерам сайта).

Теперь ищем в правом верхнем углу окна кнопку с дискетой Сохранить запрос (Save Query) и сохраняем файл с параметрами нашего запроса в любую подходящую папку под любым удобным именем — например в Мои документы под именем cbr.iqy. После этого окно веб-запроса и весь Excel можно пока закрыть.

4. Открываем папку, куда сохранили запрос и ищем файл запроса cbr.iqy, затем щелкаем по нему правой кнопкой мыши — Открыть с помощью — Блокнот (или выбрать его из списка — обычно это файл Notepad.exe из папки C:Windows). После открытия файла запроса в Блокноте должны увидеть примерно следующее:

Самое ценное здесь — строка с адресом и параметры запроса в ней, которые мы будем подставлять — код нужной нам валюты (выделено красным) и конечная дата, которую мы заменим на сегодняшнюю (выделено синим). Аккуратно редактируем строку, чтобы получилось следующее:

Все остальное оставляем как есть, сохраняем и закрываем файл.

5. Создаем новую книгу в Excel, открываем лист, куда хотим импортировать архив курсов ЦБ. В любую подходящую ячейку вводим формулу, которая даст нам текущую дату в текстовом формате для подстановки в запрос:

или в английской версии

Куда-нибудь рядом вводим код нужной нам валюты из таблицы:

EXCEL: Загружаем курсы валют с сайта ЦБ

Для тех, кто хотя бы немного умеет работать через Python , бесплатная загрузка курсов валют, котировок ценных бумаг и макроэкономические данные доступны через нашу библиотеку с открытым кодом yapo.

Продолжаем тему загрузки исторических данных из различных бесплатных баз. В прошлый раз мы говорили о простейшем способе подключения к Yahoo Finance: Загружаем исторические данные из Yahoo Fianance.

На этот раз расскажем о том, как загрузить котировки валют с сайта Центрального банка России, а заодно познакомился в EXCEL с двумя полезными инструментами Web Query и Power Query.

Читать еще:  Как сделать выпадающий календарь в ячейке excel?

Начиная с версии 2016, Power Query интегрирован в EXCEL. Для остальных версий его можно скачать виде надстройки со страницы Microsoft .

Сразу надо сказать, что возможности сайта Центробанка закрывают потребности инвестора (и спекулянта тоже) на 90%. Почему на 90%? На сайте ЦБ нет исторических данных по нерублёвым валютным парам, например, EUR/USD.

Готовый пример таблицы EXCEL, поддерживающей автоматическое скачивание курсов валют, можно загрузить по ссылке в конце статьи.

Последовательность шагов

Все скриншоты сделаны в EXCEL 2016.

Итак, зайдя на сайт ww.cbr.ru мы сразу видим ссылки на курсы валют.

Мы попадаем на страницу баз данных валют. Далее нам в раздел, посвященный динамике курса заданной валюты.

Задаем параметры поиска: тип валюты, даты и тип выдачи данных (таблица):

В результатах нас интересует только адресная строка, копируем её в буфер (CTRL-C):

Открываем новый документ в EXCEL. Переходим на закладку Данные. Далее – Получение внешних данных / Из интернета:

Загружается встроенный браузер. Копируем в адресную строку ссылку, которую мы получили ранее на шаге 4 (Ctr-V), и снова видим таблицу с историей курсов валюты. Можно весь путь к таблице сделать и без использования внешнего браузера, но встроенный в EXCEL браузер работает на базе IE, что не очень удобно.

Единственное, что нам нужно здесь сделать, это нажать на кнопку «Сохранить запрос»:

Параметры WEB запроса (поэтому он называется WEB Query) сохраняем в файл с расширением .iqy

Открываем записанный файл в каком-либо текстовом редакторе, например, в Notepad. В строке запроса находим даты и код валюты (R01235 для доллара США):

Меняем эти значения на переменные и сохраняем изменения. Название переменных произвольное. Синтаксис переменной – [“Name”]:

Возвращаемся в EXCEL и готовим значения переменных, которые будут считываться при обращении к сайту ЦБ. Значение каждой переменной нужно разместить в отдельной ячейке на листе. Популярные коды валют: Доллар США — R01235, Евро — R01239, Юань — R01375. Код любой другой валюты можно узнать, сформировав новый запрос на сайте ЦБ.

Формат даты необходимо поменять на текстовый, т.к. по умолчанию EXCEL дата представляет собой пятизначное число. Делается это при помощи формулы =ТЕКСТ(B3;»ДД.ММ.ГГГГ»). В дальнейшем колонку «Переменные» можно скрыть.

Снова обращаемся к закладке «Данные», раздел «Существующие подключения». Выбираем «Найти другие …» и загружаем записанный файл в формате .iqy

Выбираем отображение данных на новом листе.

Указываем ячейки, в которых находятся значения переменных. Выбираем «Использовать данное значение по умолчанию» и «Автоматически обновлять при изменении значения ячейки», если есть желание подгружать данные в автоматическом режиме:

На новом листе формируется таблица с котировками валюты. В принципе эти данные уже можно использовать, но на листе кроме таблицы присутствует много лишнего «мусора».

Для очистки данных нам поможет Power Query. В EXCEL 2016 раздел Power Query (Скачать и преобразовать) находится по соседству с «Получением данных» (вкладка данные). Нас интересует создание нового запроса из таблицы. При нажатии на «Из таблицы» должна быть активной страница с полученными данными.

Открывается диалог интерфейса Power Query. Для начала удаляем лишнюю колону. Для этого надо ее выделить и нажать «Удалить столбцы».

Далее убираем ненужную информацию, расположенную в верхних строках: «Удаление верхних строк». И указываем номер последней строки с мусором (26).

Теперь можно использовать верхнюю строку в качестве заголовка таблицы:

Выбираем колонку Дата и сортируем ее по убыванию (от новых дат к старым):

После сортировки становится понятно, что внизу таблицы тоже был «мусор». Чистим его по аналогии с шагом 17. Таблица начинает приобретать рабочий вариант.

Остается только выделить колонку Дата и указать для нее правильный формат:

Последний шаг – указать где должны отображаться очищенные данные:

Таблица с новыми данными в удобном формате будет показана на новом листе. Теперь с этой информацией можно работать по своему усмотрению.

Еще одним удобством использования Power Query является обратимость всех действий по преобразованию запроса. В любой момент можно вернуться к редактору запроса (Показать запросы). В правой части интерфейса расположена история редактирования запроса, куда всегда можно внести изменения и удалить действия.

Для обновления данных в итоговой таблице нужно нажать «Обновить все» в закладке Данные:

Автоматическая загрузка курса выбранной валюты теперь доступна через встроенные функции EXCEL (без истории курса). Подробнее о загрузки курса валют через EXCEL:

20 секретов Excel, которые помогут упростить работу

Пользуетесь ли вы Excel? Мы выбрали 20 советов, которые помогут вам узнать его получше и оптимизировать свою работу с ним.

Выпустив Excel 2010, Microsoft чуть ли не удвоила функциональность этой программы, добавив множество улучшений и нововведений, многие из которых не сразу заметны. Неважно, опытный вы пользователь или новичок, найдется немало способов упростить работу с Excel. О некоторых из них мы сегодня расскажем.

Выделение всех ячеек одним кликом

Все ячейки можно выделить комбинацией клавиш Ctrl + A, которая, кстати, работает и во всех других программах. Однако есть более простой способ выделения. Нажав на кнопку в углу листа Excel, вы выделите все ячейки одним кликом.

Читать еще:  Как сделать несколько группировок в excel?

Открытие нескольких файлов одновременно

Вместо того чтобы открывать каждый файл Excel по отдельности, их можно открыть вместе. Для этого выделите файлы, которые нужно открыть, и нажмите Enter.

Перемещение по файлам Excel

Когда у вас открыто несколько книг в Excel, между ними можно легко перемещаться с помощью комбинации клавиш Ctrl + Tab. Эта функция также доступна по всей системе Windows, и ее можно использовать во многих приложениях. К примеру, для переключения вкладок в браузере.

Добавление новых кнопок на панель быстрого доступа

Стандартно в панели быстрого доступа Excel находятся 3 кнопки. Вы можете изменить это количество и добавить те, которые нужны именно вам.

Перейдите в меню «Файл» ⇒ «Параметры» ⇒ «Панель быстрого доступа». Теперь можно выбрать любые кнопки, которые вам нужны.

Диагональная линия в ячейках

Иногда бывают ситуации, когда нужно добавить в таблицу диагональную линию. К примеру, чтобы разделить дату и время. Для этого на главной странице Excel нажмите на привычную иконку границ и выберите «Другие границы».

Добавление в таблицу пустых строк или столбцов

Вставить одну строку или столбец достаточно просто. Но что делать, если их нужно вставить гораздо больше? Выделите нужное количество строк или столбцов и нажмите «Вставить». После этого выберите место, куда нужно сдвинуться ячейкам, и вы получите нужное количество пустых строк.

Скоростное копирование и перемещение информации

Если вам нужно переместить любую информацию (ячейку, строку, столбец) в Excel, выделите ее и наведите мышку на границу, чтобы изменился указатель. После этого переместите информацию в то место, которое вам нужно. Если необходимо скопировать информацию, сделайте то же самое, но с зажатой клавишей Ctrl.

Быстрое удаление пустых ячеек

Пустые ячейки — это бич Excel. Иногда они появляются просто из ниоткуда. Чтобы избавиться от них всех за один раз, выделите нужный столбец, перейдите на вкладку «Данные» и нажмите «Фильтр». Над каждым столбцом появится стрелка, направленная вниз. Нажав на нее, вы попадете в меню, которое поможет избавиться от пустых полей.

Расширенный поиск

Нажав Ctrl + F, мы попадаем в меню поиска, с помощью которого можно искать любые данные в Excel. Однако его функциональность можно расширить, используя символы «?» и «*». Знак вопроса отвечает за один неизвестный символ, а астериск — за несколько. Их стоит использовать, если вы не уверены, как выглядит искомый запрос.

Если же вам нужно найти вопросительный знак или астериск и вы не хотите, чтобы вместо них Excel искал неизвестный символ, то поставьте перед ними «

Копирование уникальных записей

Уникальные записи могут быть полезными, если вам нужно выделить в таблице неповторяющуюся информацию. К примеру, по одному человеку каждого возраста. Для этого выберите нужный столбец и нажмите «Дополнительно» слева от пункта «Фильтр». Выберите исходный диапазон (откуда копировать) и диапазон, в который нужно поместить результат. Не забудьте поставить галочку.

Создание выборки

Если вы делаете опрос, в котором могут участвовать только мужчины от 19 до 60, вы легко можете создать подобную выборку с помощью Excel. Перейдите в пункт меню «Данные» ⇒ «Проверка данных» и выберите необходимый диапазон или другое условие. Вводя информацию, которая не подходит под это условие, пользователи будут получать сообщение, что информация неверна.

Быстрая навигация с помощью Ctrl и стрелки

Нажимая Ctrl + стрелка, можно перемещаться в крайние точки листа. К примеру, Ctrl + ⇓ перенесет курсор в нижнюю часть листа.

Транспонирование информации из столбца в строку

Довольно полезная функция, которая нужна не так уж и часто. Но если она вдруг понадобится, вряд ли вы будете транспонировать по одной. Для транспонирования в Excel есть специальная вставка.

Скопируйте диапазон ячеек, который нужно транспонировать. После этого кликните правой кнопкой на нужное место и выберите специальную вставку.

Как скрывать информацию в Excel

Не знаю, зачем это может пригодиться, но тем не менее такая функция в Excel есть. Выделите нужный диапазон ячеек, нажмите «Формат» ⇒ «Скрыть или отобразить» и выберите нужное действие.

Объединение текста с помощью «&»

Если вам нужно объединить текст из нескольких ячеек в одну, необязательно использовать сложные формулы. Достаточно выбрать ячейку, в которой будет соединен текст, нажать «=» и последовательно выбрать ячейки, ставя перед каждой символ «&».

Изменение регистра букв

С помощью определенных формул можно менять регистр всей текстовой информации в Excel. Функция «ПРОПИСН» делает все буквы прописными, а «СТРОЧН» — строчными. «ПРОПНАЧ» делает прописной только первую букву в каждом слове.

Внесение информации с нулями в начале

Если вы введете в Excel число 000356, то программа автоматически превратит его в 356. Если вы хотите оставить нули в начале, поставьте перед числом апостроф «’».

Читать еще:  Как сделать частотный анализ в excel?

Ускорение ввода сложных слов

Если вы часто вводите одни и те же слова, то обрадуетесь, узнав, что в Excel есть автозамена. Она очень похожа на автозамену в смартфонах, поэтому вы сразу поймете, как ей пользоваться. С ее помощью можно заменить повторяющиеся конструкции аббревиатурами. К примеру, Екатерина Петрова — ЕП.

Больше информации

В правом нижнем углу можно следить за различной информацией. Однако мало кто знает, что, нажав туда правой кнопкой мыши, можно убрать ненужные и добавить нужные строки.

Переименование листа с помощью двойного клика

Это самый простой способ переименовать лист. Просто кликните по нему два раза левой кнопкой мыши и введите новое название.

Часто ли вы пользуетесь Excel? Если да, то у вас наверняка есть свои секреты работы с этой программой. Делитесь ими в комментариях.

Excel At Excel вып.3: Собираем данные с разных листов

Дано: 22 таблицы унифицированного формата с перечнем помещений от 22 дочерних предприятий.

Задача: сделать сводную таблицу с данными всех 22 таблиц

Итак, решение. Есть три варианта решения данной задачи. Первый — использовать встроенную (начиная с excel 2013) надстройку PowerPivot (об этом методе мы поговорим позднее). Второй — посредством сводной таблицы через несколько диапазонов консолидации. Не люблю этот метод, т.к. такая сводная таблица имеет существенно более ограниченный функционал по сравнению с простой сводной таблицей. Наконец, третий вариант — это создать общую таблицу с использованием функции INDIRECT (ДВССЫЛ). Этому методу и посвятим сегодня наш пост.

Что мы имеем? 22 одинаковых по формату таблицы на отдельных листах и с разным количеством строк в каждой. Соответственно, для построения общей таблицы нам надо решить следующие «проблемы»:

1) как заставить общую таблицу «переключаться» с одного листа данных на другой?;

2) как заставить ее делать это в нужный момент (когда закончились строки на одном листе)?

Начнем со второго вопроса, т.к. ответ на него мы уже знаем. Это циклы, о которых мы подробно говорили в выпуске 2 «Циклы в Excel без VBA». Для решения проблемы достаточно в наш файл добавить лист с перечнем всех обществ, соответствующими названиями листов и количеством подсчетом количества строк на каждом таком листе.

Обратите внимание на формулу в столбце Кол-во записей. Мы могли бы использовать просто COUNTA (СЧЁТА) со ссылкой на каждый лист. Но это потребует времени для «линковки» каждого листа. Плюс мы с вами готовим универсальные решения, которые будут работать в независимости от количества листов.

Именно для этого в функцию COUNTA (СЧЁТА) и внедряется эта чуднАя функция INDIRECT (ДВССЫЛ). Остановимся на ней подробнее.

Функция имеет, по сути, единственный параметр — ref_text (ссылка_на_текст). Что делает эта функция? Всего-навсего преобразует текст в ссылку на ячейку. То есть она преобразует текст, например, «А1» в ссылку и возвращает значение ячейки А1.

Соответственно, зная несложные правила работы с текстом в Excel, мы можем легко сделать текст внутри изменяемым, а значит можем сделать и изменяемыми ссылки, которые будет возвращать функция INDIRECT (ДВССЫЛ).

Разберем пример выше. Функция INDIRECT (ДВССЫЛ) имеет следующий вид:

Чтобы понять, что означает текст внутри нее, давайте вспомним, как выглядит в Excel ссылка на ячейку на другом листе. Вот так:

Соответственно, в нашем случае у нас неизменен столбец B:B, а вот название листа меняется. Для «автоматизации» формулы заменяем Название листа на ссылку на название листа с данными по соответствующему обществу (столбец Название листа). Получаем следующее:

где все, что подчеркнуто — текст, а выделено жирным — ссылки.

ВАЖНО! Обратите внимание на кавычки и конкатенацию («склеивание») при помощи амперсента. Не забудьте, что текст вносится в кавычках и соединяется со ссылками при помощи символа &.

Получается, что INDIRECT (ДВССЫЛ) получает название листа из ячеек в столбце А:А (Название листа), а диапазон у нас прописан фиксированно текстом (В:В). COUNTA (СЧЁТА) же просто считает количество строк в столбце В:В на соответствующем листа за вычетом заголовка.

Перейдем к формированию общей таблицы. Как вы уже наверное прикинули, у нас будет два вложенных цикла: один — количество обществ, второй — количество записей на листе данных по соответствующему обществу. Соответственно, нам потребуются два вспомогательных столбца (определим их в столбцы А и В). Ровно так же, как мы делали на примере в выпуске 2 «Циклы в Excel без VBA», пишем формулу первого цикла:

=IF(A2=»»;»»;IF(COUNTIF($A$2:A2;A2)=OFFSET(‘Список обществ’!$E$2;A2-1;0);IF(A2+1>COUNTA(‘Список обществ’!A:A)-1;»»;A2+1);A2))

Затем пишем формулу второго цикла:

Далее при помощи уже знакомой нам функции OFFSET (СМЕЩ) заполняем столбцы из таблицы на листе Список обществ.

Осталось подтянуть данные с 22 листов по обществам. Тут нам опять поможет OFFSET (СМЕЩ), но уже в паре с INDIRECT (ДВССЫЛ).

OFFSET (СМЕЩ) передает в формулу название листа, а конструкция B2+1 — номер строки в столбце Е на том листе.

ВАЖНО! Обратите внимание, что OFFSET (СМЕЩ) вкладывается внутрь INDIRECT (ДВССЫЛ), а не наоборот.

Ссылка на основную публикацию
×
×
Adblock
detector