=СЕГОДНЯ() возвращает сегодняшнюю дату, а =ТДАТА() текущие дату и время. По-английски эти функции называются TODAY и NOW. Аргументов у них нет, и обе обновляются при каждом пересчёте книги, поэтому значение, которое вы видите сегодня, завтра будет другим. Для даты, которая никогда не меняется, нажмите вместо этого Ctrl+; (на Mac Control+;). В таблице ниже формулы записаны по-английски, но их можно вводить и по-русски: =СЕГОДНЯ().
| A | B | |
|---|---|---|
| 1 | TODAY | NOW |
| 2 | 2026-10-04 | 2026-10-04 9:22 |
=СЕГОДНЯ()Таблица выше показывает дату и время на момент загрузки страницы. При каждом пересчёте таблицы ТДАТА переходит на текущую минуту, а СЕГОДНЯ меняется только раз в день, в полночь. Скобки обязательны: =TODAY без них возвращает #ИМЯ? (по-английски #NAME?).
Сколько дней осталось до даты
СЕГОДНЯ() это число дней, как и любая другая дата, поэтому вычитание даёт обратный отсчёт. =B2-СЕГОДНЯ() это дни, оставшиеся до даты в B2, а =СЕГОДНЯ()-B2 дни, прошедшие с неё.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Task | Deadline | Days left | Status |
| 2 | Report | 2026-12-31 | 88 | Open |
| 3 | Audit | 2027-03-15 | 162 | Open |
| 4 | Budget | 2025-11-30 | -308 | Overdue |
=B2-СЕГОДНЯ()Числа в столбце C каждый день уменьшаются на единицу. Срок по бюджету прошёл, поэтому его число отрицательное, а статус говорит Overdue. Чтобы считать оставшиеся рабочие дни, используйте =ЧИСТРАБДНИ(СЕГОДНЯ();B2) (см. ЧИСТРАБДНИ и РАБДЕНЬ).
СЕГОДНЯ внутри других формул
Везде, где формуле нужна дата, этой датой может быть СЕГОДНЯ(): текущий год, конец этого месяца, дата через 30 дней или чей-то возраст (расчёт возраста).
| A | B | |
|---|---|---|
| 1 | What | Formula |
| 2 | Year | 2026 |
| 3 | Month | 10 |
| 4 | End of this month | 2026-10-31 |
| 5 | In 30 days | 2026-11-03 |
| 6 | First of this month | 2026-10-01 |
=КОНМЕСЯЦА(СЕГОДНЯ();0)B5 меняется каждый день; B3, B4 и B6 меняются в первый день каждого месяца, а B2 1 января. КОНМЕСЯЦА (EOMONTH) с -1 возвращает последний день предыдущего месяца, поэтому прибавление 1 даёт первое число текущего.
Текущее время без даты
ТДАТА() хранит дату как целую часть, а время как дробную: полдень это 0,5 дня. =ОСТАТ(ТДАТА();1) оставляет дробную часть, то есть одно время. Задайте ячейке формат ч:мм, чтобы видеть его как время на часах, или используйте ТЕКСТ для подписи.
| A | B | C | |
|---|---|---|---|
| 1 | Time | As text | Hour |
| 2 | 9:22 | 9:22 | 9 |
=ОСТАТ(ТДАТА();1)A2 это число (доля дня), показанное как время, поэтому его можно использовать в расчётах времени; B2 это текст, и его нельзя. C2 это час целым числом от 0 до 23.
Вставка даты или времени, которые не меняются
СЕГОДНЯ и ТДАТА не подходят для всего, что фиксирует момент события, например для журнала заказов или подписанной формы, потому что завтра в каждой строке будет завтрашняя дата. Вместо этого вводите постоянное значение:
| Что вставить | Windows | Mac |
|---|---|---|
| Сегодняшняя дата | Ctrl+; | Control+; |
| Текущее время | Ctrl+Shift+; | Command+; |
| Дата и время | Ctrl+;, пробел, Ctrl+Shift+; | Control+;, пробел, Command+; |
Чтобы заморозить уже существующую формулу, скопируйте ячейки, затем Главная > Вставить > Вставить значения (Windows: Ctrl+Alt+V, затем V и Enter; Mac: Control+Command+V, затем «Значения»). Формула заменится датой, которую она показывала в этот момент.
Практика: сколько дней осталось до фиксированной даты
Для практики таблица ниже использует фиксированную дату «на момент» в E2 вместо СЕГОДНЯ(), поэтому ответ каждый день один и тот же. В своей книге вы бы написали СЕГОДНЯ() там, где эта формула читает E2.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Task | Deadline | Days left | As of | |
| 2 | Launch | 2026-11-20 | 2026-10-01 |
Ваша очередь: В C2 посчитайте, сколько дней осталось от даты в E2 до срока в B2.
Почему СЕГОДНЯ и ТДАТА всё время меняются
СЕГОДНЯ, ТДАТА, СЛЧИС и СМЕЩ это переменные (волатильные) функции: Excel пересчитывает их при любом изменении в книге, при открытии файла и при нажатии F9. Именно это поддерживает обратный отсчёт в актуальном состоянии, и у этого есть два побочных эффекта:
- Excel предлагает сохранить изменения, когда вы закрываете файл, который только просматривали, потому что переменные ячейки пересчитались.
- Большая книга с тысячами ячеек СЕГОДНЯ() может работать медленно. Поставьте
=СЕГОДНЯ()в одну ячейку, например$H$1, и ссылайтесь на неё из остальных формул.
Если показана неверная дата, проверьте часы компьютера: СЕГОДНЯ читает системную дату. Если она не обновляется, книга может быть в режиме ручного пересчёта: Формулы > Параметры вычислений > Автоматически.
Часто задаваемые вопросы
Как вставить сегодняшнюю дату в Excel?
Введите =СЕГОДНЯ() для даты, которая обновляется каждый день, или нажмите Ctrl+; (на Mac Control+;), чтобы вставить сегодняшнюю дату как постоянное значение, которое никогда не меняется.
Чем СЕГОДНЯ отличается от ТДАТА в Excel?
=СЕГОДНЯ() возвращает только дату, целым числом дней. =ТДАТА() возвращает дату и текущее время, где время это дробная часть. Обе пересчитываются вместе с книгой.
Как посчитать, сколько дней осталось до даты, в Excel?
Вычтите сегодняшнюю дату из нужной: =B2-СЕГОДНЯ(). Результат каждый день уменьшается на единицу и становится отрицательным, когда дата прошла.
Как сделать, чтобы СЕГОДНЯ() не менялась?
Остановить саму формулу нельзя, но можно заменить её значением: скопируйте ячейку, затем Главная > Вставить > Вставить значения. Или сразу вводите дату через Ctrl+;.
Как вставить текущее время в Excel?
Нажмите Ctrl+Shift+; (на Mac Command+;), чтобы вставить время как постоянное значение. Формулой =ТДАТА() даёт дату и время, а =ОСТАТ(ТДАТА();1) только время, с форматом ч:мм.