Как стать автором
Обновить

Делаем таймер обратного отсчета в гугл таблицах

Время на прочтение2 мин
Количество просмотров30K
Если в ожидании нового проекта вам нечем заняться, а под рукой есть только гугл таблицы — можно сделать таймер обратного отсчета, чтобы, например, узнать сколько свободного времени у вас осталось.

Чтобы сделать таймер достаточно воспользоваться парой функций:

ТДАТА(NOW) — выводит текущее дату и время в формате «дата».
РАЗНДАТ (DATEDIF) — подсчитывает количество оставшихся дней, месяцев и лет между двумя датами. По умолчанию учитывается текущий день.
ДНИ (DAYS) — подсчитывает количество дней между двумя датами.
ЧАС (HOUR) — возвращает компонент часа в заданном времени, а также может вычислять разницу часов между двумя датами.
МИНУТЫ (MINUTE) — работает аналогично функции ЧАС, только для минут.

Допустим, мы хотим узнать сколько осталось дней до дня рождения хабра — 26 мая согласно Википедии.

Первоначальные настройки


Чтобы таймер постоянно обновлялся и отображал актуальную информацию необходимо поменять настройки вычисления в таблице.

В открытой таблице выбираем пункт меню «Файл» переходим в «Настройки таблицы» и на вкладке «Вычисления» выбираем «Обновления расчетов» — «При изменениях и каждую минуту».

image

Формулы для таймера


В примере я сделал таймер двух видов:

для отображения оставшихся дней, часов и минут,
а также
для вывода месяцев, дней, часов и минут.

Единственное отличие — чтобы посчитать количество оставшихся целых месяцев и дней необходимо использовать функцию РАЗНДАТ, тогда как для вывода только количества дней достаточно функции ДНИ.

Также есть функция СЕКУНДЫ (SECOND) которая позволяет выводить секунды, но из-за того что временной диапазон вычисления ограничивается занчением «раз в минуту» — таймер секунд просто не будет успевать обновляться.

Пишем формулы для отсчета времени


В примере используются ячейки:

A2 — конечная дата, от которой ведем отсчет
B2 — текущая дата, вместо нее также можно использовать функцию ТДАТА (NOW).

Месяцы
$=DATEDIF(B2;A2;"M")$
Количество дней без учета целых месяцев:
$=DATEDIF(B2;A2;"MD")$
Количество дней в целом
$=DAYS(A2;B2)$
Часы
$=HOUR(A2 - B2)$
Минуты
$=MINUTE(A2-B2)$

В самом простом варианте исполнения — выводим значения таймера в отдельные ячейки:



Используя функцию СЦЕПИТЬ (CONCATENATE) можно все данные вывести в одной ячейке.

Для этого примера формула имеет вид

$=CONCATENATE(DATEDIF(B2;A2;"M");" мес ";" : "; DATEDIF(B2;A2;"MD");" дн";" : ";Hour(A2-B2);" час";" : ";Minute(A2-B2);" мин") $



или для подсчета только дней

$=CONCATENATE(DAYS(A2;B2);" дн";" : ";Hour(A2-B2);" час";" : ";Minute(A2-B2);" мин") $





Также дополнительно можно установить в таблицу дополнения, которые будут присылать уведомления при определенных условиях, например при достижении какого-то количества оставшихся дней. Но работают они только если таблица открыта в окне.

Файл с примером находится по ссылке.
Теги:
Хабы:
Всего голосов 8: ↑6 и ↓2+4
Комментарии0

Публикации