Как сделать биржевые часы в Excel из диаграммы спидометр скачать

Как сделать аналоговые часы в Excel используя стандартные инструменты для визуализации данных и формулы? Для реализации данной задачи можно использовать кольцевую диаграмму так же как при построении популярного типа диаграмм в инфографике – спидометра. Аналоговые часы в Excel можно использовать в качестве таймера. При анализе с учетом разницы во времени в разных временных зонах крупнейших фондовых бирж: New York, London, Tokyo, Sydney, Moscow и т.п.

Пример как из диаграммы спидометр сделать аналоговые часы в Excel

Сначала составим Техническое Задание (ТЗ) для, того чтобы сделать часы в Excel. Как говориться в кулуарах программистов без ТЗ результат ХЗ. Чтобы создать стильные аналоговые часы в программе Excel нам понадобиться:

  1. С помощью формул подготовить входящие данные для показателей: часов, минут и секунд.
  2. Четыре диаграммы для циферблата и стрелок.
  3. Кнопки управления часами: Start и Stop.
  4. Код макроса обновления данных.

Формулы для перевода времени в секунды, минуты и часы

Приступим к реализации задачи по пунктам ТЗ. В первую очередь подготавливаем исходные данные. Сначала создаем значения для секундной стрелки. Нам необходимо перевести значение полной текущей даты и времени в секунды:

Время перевести в секунды.

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

Секундная стрелка.

Сумма всех значений при каждом пересчете формул (F9) постоянно должна быть равна числу 60 так как секунды считаются по шестидесятеричной системе счисления (позиционная система счисления по целочисленному основанию 60).

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

Время перевести в минуты.

Используя в формуле значение секунд позволит нам определять точное положение минутной стрелки в режиме онлайн. Также указываем размер второй неизменяемой доли 0,1 и вводим формулу для вычисления размера оставшейся доли от 60-ти:

Минутная стрелка.

Также сумма всех значений в диапазоне B7:B9 равна числу 60.

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

Время перевести в часы 12.

Эту формулу достаточно легко прочитать. Если количество часов (получено функцией =ЧАС()) от текущей даты и времени (которые возвращает функция =ТДАТА()) составляет больше чем число 12, тогда переводим его в двенадцатеричную систему исчисления вычитая от этого количества число 12. А если меньше чем 12, тогда оставляем все как есть.

И последняя формула для часовой стрелки:

Часовая стрелка.

На этот раз сумма всех чисел в диапазоне B12:B14 равна числу 12. Данные подготовлены переходим непосредственно к рисованию диаграмм для аналоговых часов в Excel.

Кольцевая диаграмма для создания циферблата аналоговых часов

Аналоговые часы в Excel нарисуем или сконструируем из 4-х диаграмм. Сначала сделаем стильный циферблат. Для него нам не понадобятся исходные данные, поэтому переместите курсор Excel в любую пустую ячейку и выберите инструмент: «ВСТАВКА»-«Диаграммы»-«Кольцевая». После чего будет создана пустая диаграмма, но нам уже будет доступно дополнительное меню из которого выберите инструмент: «РАБОТА С ДИАГРАММАМИ»-«КОНСТРУКТОР»-«Выбрать данные»:

Кольцевая диаграмма.

В появившемся окне «Выбор источника данных» нажмите на кнопку «Добавить» для добавления первого ряда данных и нажмите ОК:

Выбор источника данных.

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

Далее создаем еще 2 рада данных. Для этого снова нажмите на кнопку «Добавить», но на этот раз в поле значение необходимо ввести массив из 12-ти единиц как показано ниже на рисунке:

Добавить ряд данных.

Порядок расположения рядов должен быть такой же как на рисунке. При необходимости используйте стрелки (вверх и вниз) для управления расположением рядов на диаграмме.

Далее по прядку настраиваем все 3 ряда данных кольцевой диаграммы для дизайна циферблата. Выделите первый ряд двойным кликом левой кнопки мышки или выбрав инструмент: «РАБОТА С ДИАГРАММАМИ»-«ФОРМАТ»-«Текущий фрагмент»-«Ряд1»-«Формат выделенного» и внесите следующие настройки в параметры ряда:

Формат выделенного Ряд1.
  1. «Формат ряда данных»-«ПАРАМЕТРЫ РЯДА»-«ЗАЛИВКА»-«Градиентная заливка»-«Цвета» (RGB коды цветов точек градиента: бирюзовый: 0;173;173, темно-сизый: 0;54;54) здесь же «Граница»-«Нет линий».
  2. «Формат ряда данных»-«ПАРАМЕТРЫ РЯДА»-«Диаметр отверстия, в % от общего диаметра».

Не снимая выделения с «Ряд1» выберите инструмент для 3D оформления корпуса часов: «РАБОТА С ДИАГРАММАМИ»-«ФОРМАТ»-«Стили фигур»-«Эффекты фигуры»-«Рельеф»-«Угол»:

Эффекты фигуры Рельеф.

Корпус аналоговых часов полностью готов!

Теперь делаем настройки для второго ряда. Он послужит нам главным циферблатом. Выделите второй ряд2 таким же способом как вы выделяли первый и внесите следующие настройки в параметры ряда:

Формат выделенного Ряд2.
  1. «Формат ряда данных»-«ПАРАМЕТРЫ РЯДА»-«ЗАЛИВКА»-«Сплошная заливка»-«Цвет»-Белый. Здесь же «ГРАНИЦА»-«Сплошная линия»-«Ширина»-0,25пт.
  2. «Формат ряда данных»-«ПАРАМЕТРЫ РЯДА»-«Угол поворота первого сектора»-15 градусов.

Не снимая выделения со второго ряда данных добавим цифры на циферблат. Для этого нажмите на кнопку плюс возле диаграммы и из выпадающего меню отметьте опцию «Подписи данных» за одно снимите галочку с опции «Легенда»:

Подписи данных.

По отдельности выделяйте каждую подпись данных ряда и пока не снято выделения вводите в строку формул соответствующую цифру, а после для подтверждения нажимайте на клавишу Enter. Пока полностью не заполните весь циферблат всеми 12-ю цифрами.

Переходим к оформлению третьего ряда. Выделите Ряд3 на диаграмме и указываем только другой цвет заливки: «Формат ряда данных»-«ПАРАМЕТРЫ РЯДА»-«ЗАЛИВКА»-«Сплошная заливка»-«Цвет»-RGB: 225;239;255. После чего также, как и для второго ряда добавляем метки «Подписи данных» таким же способом, как и в предыдущем примере описанном выше:

Сплошная заливка СИМВОЛ 149.

На этот раз при поочередном выделении каждой метки в строку формул вводим одну и туже внешнюю ссылку: =Часы!$D$1. Во всех диаграммах Excel всегда используются только внешние ссылки на листы. Слово перед восклицательным знаком «Часы» - это имя листа. В ячейке D1 на которую ссылается ссылка находиться функция =СИМВОЛ(149), которая возвращает символ «•» по коду 149. При желании можно ввести в ячейку D1 любой другой символ или функцию с другим кодом символа для отображения на часах.

Как сделать стрелки для аналоговых часов в Excel

Далее создаем стрелки для аналоговых часов в Excel. Для этого нам понадобиться создать еще 3 диаграммы. Чтобы создать первую стрелку выделите диапазон ячеек A2:B4 и выберите инструмент: «ВСТАВКА»-«Диаграммы»-«Круговая»:

создаем стрелки.

На диаграмме не видно второй доли «Ширина», но о том что она там присутствует свидетельствует легенда. Сейчас необходимо отформатировать диаграмму таким образом, чтобы была видна только лишь одна вторая доля, которая и послужит секундной стрелкой.

Сначала убираем цвет заливки и линию ряда диаграммы, щелкнув двойным щелчком мышки по ряду и выбрав инструмент: «Формат ряда данных»-«ПАРАМЕТРЫ РЯДА»-«ЗАЛИВКА»-«Нет заливки» и здесь же «ГРАНИЦА»-«Нет линий»:

Формат ряда данных диаграммы.

Все доли на диаграмме находятся на одном и том же ряду. Поэтому чтобы получить доступ ко второй (невидимой) доли следует воспользоваться легендой диаграммы. Выбираем мышкой только лишь один элемент легенды «Ширина», а затем двойным щелчком по нему вызываем: «Формат элемента легенды»-«ПАРАМЕТРЫ ЭЛЕМЕНТА ЭЛЕГЕНДЫ»-«ЗАЛИВКА»-«Цвет»-Красный и здесь же «ГРАНИЦА»-«Сплошная линия»-«Цвет»-Красный:

ПАРАМЕТРЫ ЭЛЕМЕНТА ЭЛЕГЕНДЫ.

Теперь убираем все лишние элементы на диаграмме, нажав на кнопку плюс «+» с правого края и сняв все галочки из выпадающего меню:

убираем все лишние.

Секундная стрелка – ГОТОВА! Далее таким же образом создаем часовую и минутную стрелку выполняя те же самые действия за исключением выбора цвета – черный. Кроме того, для всех троих диаграмм необходимо сделать прозрачный фон. Для этого делаем на каждой из них двойной щелчок по фоновой области диаграммы и выбираем инструмент: «Формат области диаграммы»-«ПАРАМЕТРЫ ДИАГРАММЫ»-«ЗАЛИВКА»-«Нет заливки»:

Формат области диаграммы.

Следующий шаг, как не сложно догадаться – это наложение стрелок на циферблат аналоговых часов в Excel:

наложение стрелок на циферблат.

Полезный совет! Для удобной работы с несколькими графическими объектам на рабочем листе Excel, хорошо использовать инструменты для выделения и расположения объектов из дополнительного меню: «ФОРМАТ»-«Упорядочение»-«Область выделения» и здесь же «Выровнять»-«По центру» и «Выровнять»-«По середине».

Создадим фигуру овал для последней детали часов, выбрав инструмент: «ВСТАВКА»-«Иллюстрации»-«Фигуры»-«Овал»:

Создадим фигуру.

Придадим фигуре цвет и 3D дизайн гармоничный для наших аналоговых часов. Для этого сначала выберите инструмент из дополнительного меню: «СРЕДСТВА РИСОВАНИЯ»-«ФОРМАТ»-«Стили фигур»-«Заливка фигуры»-Код цвета RGB: 0; 173; 173, а потом здесь же выберите «Эффекты фигуры»-«Затовка1»:

СРЕДСТВА РИСОВАНИЯ.

Выполняем финальные настройки по конструкции аналоговых часов в Excel:

финальные настройки.
  1. Накладываем фигуру на часы.
  2. Выделяем все элементы: «СРЕДСТВА РИСОВАНИЯ» или «РАБОТА С ДИАГРАММАМИ»-«ФОРМАТ»-«Упорядочение»-«Область выделения».
  3. Группируем: «ФОРМАТ»-«Упорядочение»-«Группировать».

И наслаждаемся готовым результатом!

Кнопки управления часами

Перед написанием кода макроса добавим на лист еще 2 элемента управления аналоговыми часами: Кнопка 1 – ButtonStart и Кнопка 2 – ButtonStop.

Для этого создадим две овальных фигуры, как и в предыдущий раз через меню: «ВСТАВКА»-«Иллюстрации»-«Фигуры»-«Скругленный прямоугольник». Но на этот присвоим им оформление дизайна из коллекции предустановленных стилей Excel. Для кнопки ButtonStart выберите: «СРЕДСТВА РИСОВАНИЯ»-«Стили фигур»-«Средний эффект – Зеленый, Акцент 6». А для кнопки ButtonStop «Средний эффект – Оранжевый, Акцент 2»:

Стили фигур.

Макрос для автоматического перевода стрелок часов в Excel

Конструкция и дизайн аналоговых часов готов, осталось лишь запустить механизм. Если на данном этапе разработки мы будем периодически нажимать клавишу F9 или выбирать инструмент: «ФОРМУЛЫ»-«Вычисления»-«Пересчет» все формулы на листе будут автоматически пересчитываться и обновлять свои возвращаемые значения. Следовательно, будут переводиться стрелки часов. Значит нам нужен макрос, который будет выполнять данную функцию с периодичностью таймера в одну секунду.

Все готово для создания макросов в Excel, выберите инструмент: «РАЗРАБОТЧИК»-«Код»-«Visual Basic» или нажмите комбинацию клавиш ALT+F11. В появившемся окне редактора макросов «Microsoft Visual Basic for Applications» создайте модуль выбрав опцию из меню: «»

Visual Basic for Applications.

Двойным щелчком левой кнопкой мышки перейдите в модуль и вставьте в него ниже приведенный код сразу для двух макросов Start_Clock и Stop_Clock:

модуль код макроса.
Option Explicit
 
Sub Start_Clock()
ActiveSheet.Shapes("ButtonStart").Shadow.Type = msoShadow30
ActiveSheet.Shapes("ButtonStop").Shadow.Type = msoShadow21
Dim sh As Worksheet
Set sh = ActiveSheet
 
sh.Range("N1").Value = "Start"
 
X:
VBA.DoEvents
If sh.Range("N1").Value = "Stop" Then Exit Sub
Application.Calculate
GoTo X
 
End Sub
 
 
Sub Stop_Clock()
 
Dim sh As Worksheet
Set sh = ActiveSheet
 
sh.Range("N1").Value = "Stop"
ActiveSheet.Shapes("ButtonStart").Shadow.Type = msoShadow21
ActiveSheet.Shapes("ButtonStop").Shadow.Type = msoShadow30
 
 
End Sub
 

Осталось подключить макросы к соответственным нашим кнопкам для управления часами. Делаем щелчок правой кнопкой мышки по кнопке Start и из появившегося контекстного меню выбираем опцию «Назначить макрос». В появишвемя окне «Назначить макрос объекту» выбираем соответсвеное имя макроса «Start_Clock» из списка и нажимаем на кнопку ОК:

Назначить макрос объекту.

Такие же действия выполняем для кнопки Stop, только для нее следует из списка макросов выбрать имя Stop_Clock – соответственно.

Все ГОТОВО для запуска часов! Теперь при нажатии на кнопку Start будет выполняться код макроса Start_Clock, а при клике на кнопку Stop выполнится макрос Stop_Clock.

По такому же принципу можно создавать аналоговые часы самого разного дизайна. В программе Excel можно использовать много разных инструментов для оформления стиля диаграмм:

Примеры разных стилей часов в Excel.

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

Биржевые часы в Excel с разницей во времени

Как сделать биржевые часы для текущего времени фондовых бирж на разных континентах мира в принципе уже понятно. Нужно лишь посчитать разницу во времени в Excel. Если надо сделать набор часов для крупнейших мировых бирж, которые находятся в городах на разных часовых поясах: NEW YORK, LONDON, TOKYO, SYDNEY, MOSCOW. В формулу часовой стрелки следует добавить операции для вычисления разницы во времени. Например, у Вас на компьютере отображается московское время тогда разница во времени города Москва и Нью-Йорк равна -7 часов. Формула вычисления количества часов для часовой стрелки приобретает следующий вид:

Биржевые часы в Excel.

Скачать все примеры часов в Excel

Как видно к функции возвращающей текущую дату и время =ТДАТА() добавилась операция вычитания -(7/24). Чтобы вычитать от значения даты и времени 7 часов нам нужно случала преобразовать данное число в формат времени разделив его на количество часов в сутках 24. О правилах математических операций со временем в Excel читайте: Как сложить время и число часов или минут в Excel

Соответственно для времени работы с разницей во времени:

  • -2 часа для лондонской биржи, формула: -(2/24);
  • +6 часов для токийской биржи, формула: +(6/24);
  • +7 часов для австралийской фондовой биржи, формула: +(7/24).

en ru