У Google Таблицях є кілька функцій для роботи з датою і часом - є дуже корисні, є менш очевидні. Розглянемо їх.
На скріншоті в другому стовпці результат дії формули, а в третьому - текст самої формули.
Функція TODAY (СЬОГОДНІ) повертає сьогоднішню дату. Аргументів у неї немає - сьогоднішній день і є сьогоднішній. Результат обчислення функції оновлюється разом з іншими осередками при будь-якій зміні в документі.
Функція NOW (ТДАТУ) повертає поточний час і дату. Аргументів теж немає. Якщо її не відформатувати - в осередку буде відображатися і те, і інше:
А якщо в якості формату використовувати часовий, в осередку буде тільки поточний час:
Зверху неотформатированним осередок, знизу - осередок з тимчасовим форматом.
Функція NETWORKDAYS (ЧІСТРАБДНІ) повертає кількість робочих днів між двома датами. Дати можуть зберігатися в осередках, як в цьому прикладі:
Крім того, дати можна задати і в самій формулі, хоча це і менш гнучкий спосіб - адже в осередках їх міняти зручніше:
Можна задати в якості другого аргументу функцію TODAY - і кожен день у вас буде відображатися актуальне кількість робочих днів, що минули з певної дати (аналогічно можна поставити TODAY і як перший аргумент - і відстежувати кількість робочих днів ДО певної дати):
Останній аргумент цієї функції - свята, тобто дати, які робочими не зважають.
Найзручніше їх задати в діапазоні, а в функції послатися на цей діапазон. Діапазон може виглядати так:
Робочих днів стало 95.
Функція NETWORKDAYS.INTL (ЧІСТРАБДНІ.INTL) відрізняється від попередньої можливістю задати нестандартну робочий тиждень. Це третій аргумент, і задається він у вигляді «0000011», де нулі - це робочі дні, а одиниці - вихідні. Припустимо, для шведської чотириденної тижні формула буде виглядати так:
І робочих днів стало 77.
Функція WORKDAY (РАБДЕНЬ) повертає дату, яка настане після певної кількості днів (другий аргумент) з певної дати (перший аргумент):
Функції DAY (ДЕНЬ), MONTH (МІСЯЦЬ), YEAR (РІК) повертають відповідний параметр з дати, яка є єдиним аргументом цієї функції:
У прикладі аргумент - сьогоднішня дата, визначена функцією TODAY.
Функція WEEKNUM (НОМНЕДЕЛІ) повертає номер тижня. Перший аргумент - дата, а другий - необов'язковий - тип. За замовчуванням тип дорівнює 1, і це означає, що перший день тижня - неділя, якщо задати аргумент тип рівним 2, то першим днем тижня буде вважатися понеділок.
Функція DATEDIF (РАЗНДАТ) обчислює кількість днів, місяців і років між двома датами.
Перші два аргументи - стартова і кінцева дати. А третій - параметр, у нього є такі варіанти:
M - повні місяці;
Мабуть, що повного року ще не пройшло - але можна обчислити десяткову частку року, скориставшись функцією YEARFRAC (ДОЛЯГОДА).
У DATEDIF є ще три варіанти останнього аргументу:
Функція EOMONTH (КОНМЕСЯЦА) повертає останню дату місяця, наступного від заданої дати через певну кількість місяців. наприклад:
Якщо додати до всієї формулою одиницю - то отримаємо перший день наступного місяця, що теж може стати в нагоді:
Функція WEEKDAY (НОМНЕДЕЛІ) повертає порядковий номер дня тижня зазначеної дати (перший аргумент). Другий аргумент - тип, як у функції WEEKNUM. Для тижні, що починається з понеділка, тип = 2:
Якщо ж аргумент тип = 1, то четвер стає п'ятим днем тижня, як видно на скріншоті:
Нарешті, кілька функцій для роботи з часом. TIME (ЧАС) перетворює задані години, хвилини і секунди (це і є її аргументи) під час. Аргументи можуть бути задані, звичайно, і всередині функції, і в вигляді посилань на осередки.
Ну а SECOND (СЕКУНДИ), MINUTE (ХВИЛИНИ) і HOUR (ЧАС) повертають одне відповідне значення з дати. На скріншоті вище видно, що зняв я його о 22 годині, 22 хвилини і 27 секунд - адже у всіх трьох функціях як аргумент задано поточний час - NOW ().