Как автоматически проставить дату в Excel
Работа с временем и датой – важный аспект использования Microsoft Excel. Сегодня вы узнаете, как можно вводить дату разными способами, как определить сегодняшнюю дату с помощью метки времени или же использовать динамически изменяемые значения. Также вы поймете, с помощью каких действий можно заполнить колонку или ряд днями недели.
Существует несколько вариантов, позволяющих добавить даты в Excel. В зависимости от того, какие цели вы преследуете, действия отличаются. А задачи могут быть любыми: указать сегодняшнее число или же добавить к листу дату, которая будет автоматически обновляться и показывать всегда то, что сейчас на данный момент на часах и календаре. Или же вы хотите сделать так, чтобы электронная таблица была автоматически заполнена рабочими днями или ввести случайную дату. Независимо от того, какие цели вы преследуете, вы сегодня узнаете, как их достичь.
Как ввести дату в Excel
Пользователь может ввести дату в электронную таблицу самыми разными методами и в различных форматах. Например, можно записать ее как 1 января 2020, а можно – 1.01.2020. Независимо от того, в каком формате указать дату, программа автоматически определит, что пользователь хочет записать ее. Очень часто программа самостоятельно форматирует значение, исходя из формата, установленного в Windows, но в некоторых случаях возможно форматирование в том виде, котором указал пользователь.
В любом случае, если формат даты пользователя не удовлетворяет, он может его изменить в настройках ячейки. Как же понять, что то значение, которое указал пользователь, Excel определил, как дату? Об этом говорит выравнивание значения по правому краю, а не по левому.
Если Эксель не смог определить введенные данные и присвоить правильный формат, и вы видите, что они не располагаются по правому краю ячейки, то можно попробовать ввести дату в любом другом формате, который близок к стандартному. Чтобы посмотреть, какие доступны на данный момент, они можно перейти в меню «Формат ячейки», которое можно найти в разделе «Число», которое находится на вкладке «Главная».
Если в этом есть надобность, пользователь с легкостью может менять вид представления ячейки, которая записана, как та, которая содержит дату. Для этого можно воспользоваться тем же самым окном «Формат ячеек», которое было описано выше.
Также его можно вызвать с помощью комбинации клавиш Ctrl + 1.
Иногда пользователь сталкивается с ситуацией, когда ячейка отображается в форме большого количества решеток, которые содержатся в ней. Как правило, это говорит о том, что программа просит пользователя увеличить размеры ячеек. Исправить эту проблему очень просто. Достаточно два раза нажать на правую границу того столбца, в котором показывается эта ошибка. После этого ширина ячеек в этой колонке будет определена автоматически, исходя из самой большой длины содержащейся в ней текстовой строки.
Или же можно выставить правильную ширину с помощью перетаскивания правой границы до тех пор, пока ширина ячейки не будет правильной.
Вставка текущей даты и времени
Есть два варианта вставки текущего времени и даты в Эксель: статический и динамический. Первый служит отметкой времени. Второй же вариант позволяет держать всегда актуальную дату и время в ячейке.
Что можно сделать для того, чтобы поставить всегда актуальную метку времени? Для этого надо использовать те же формулы, что и ниже. Они всегда будут показывать актуальную дату и время.
Если надо установить статическое время, то можно воспользоваться специальными инструментами эксель, которые вызываются с помощью горячих клавиш:
- Ctrl + ; или Ctrl + Shift + 4 – эти горячие клавиши автоматически вставляют в ячейку ту дату, которая актуальна на момент, когда человек нажимает на эти кнопки.
- Ctrl + Shift + ; или Ctrl+Shift+6 – с их помощью можно записать текущее время.
- Если же нужно вставить и время, и дату, актуальные на данный момент, необходимо сначала нажать первую комбинацию клавиш, после чего нажать на пробел, и вызвать вторую комбинацию.
Какие конкретно клавиши использовать? Все зависит от раскладки, которая активирована на данный момент. Если сейчас стоит английская раскладка, то используется первая комбинация, если же русская – вторая (то есть, так, которая следует непосредственно за словом «или»).
Следует отметить, что не всегда использование этих горячих клавиш является идеальными. В некоторых случаях срабатывает только одна из описанных выше комбинаций, независимо от того, какой язык выбран. Поэтому лучший способ понять, какую использовать, – проверить.
Как правило, закономерность следующая: все зависит от того, какой язык был установлен на момент открытия файла. Если английский, то даже если поменять раскладку на русскую, ситуация не изменится абсолютно. Если же был установлен русский язык, то даже если сменить ее его на английский, то нужно использовать ту формулу, которая подходит для русского языка.
Как поставить неизменную отметку времени автоматически (формулами)
Для того, чтобы ячейка всегда отображала время, существуют специальные формулы. Но конкретная формула зависит от того, какие задачи преследует пользователь. Так, если достаточно обычной демонстрации времени в таблице, то необходимо использовать функцию ТДАТА(), которая не содержит никаких аргументов. После того, как мы ее вставим в ячейку, меняем ее формат на «Время» описанным выше способом.
Если же потом, основываясь на этих данных вы собираетесь что-то еще делать и использовать получившийся результат в формулах, то лучше тогда использовать сразу две функции: =ТДАТА()-СЕГОДНЯ()
Как итог, количество дней будет равняться нулю. Поэтому в качестве результата, возвращаемого этой формулой, останется только время. Но и здесь нужно также использовать временной формат, чтобы все работало, как часы. Во время использования формул нужно обратить внимание на следующие нюансы:
- Обновление данных не происходит постоянно. Чтобы дата и время сменились на актуальную, необходимо закрыть окно, предварительно его сохранив, а потом снова его открыть. Также обновление происходит, если включить макрос, который настроен на эту функцию.
- В качестве источника данных эта функция использует системные часы. Поэтому если они настроены неправильно, формула также будет плохо работать. Следовательно, рекомендуется поставить автоматическое определение даты и времени из интернета.
А теперь представим такую ситуацию. У нас есть таблица с перечнем товаров, расположенных в колонке А. Непосредственно после их отправки заказчику необходимо вводить в специальной ячейке значение «Да». Задача: автоматически зафиксировать время, когда человек написал слово «Да» и при этом защитить его от изменения.
Какие действия можно предпринять, чтобы достичь этой цели? Например, можно попробовать воспользоваться функцией ЕСЛИ, в которой также будет содержаться эта же функция, но с данными, зависящими от значения другой ячейки. Гораздо проще это продемонстрировать на примере. Формула будет выглядеть так: =ЕСЛИ(B2=»Да»; ЕСЛИ(C2=»»;ТДАТА(); C2); «»)
Расшифруем эту формулу.
- B – это колонка, в которой нам надо записывать подтверждение доставки.
- C2 – это та ячейка, в которой будет выводиться отметка времени после того, как мы запишем в ячейку B2 слово «Да».

Описанная выше формула работает следующим образом. Она проверяет, есть ли слово «Да» в ячейке B2. Если да, то выполняется вторая проверка, которая проверяет, является ли ячейка C2 пустой. Если да, то тогда возвращается текущая дата и время. Если же ни одна из описанных выше функций ЕСЛИ содержат иные параметры, то тогда ничего не меняется.
Если же нужно, чтобы критерий был «если содержится хотя бы какое-то значение», то тогда нужно использовать в условии оператор «не равно» <>. В таком случае формула будет выглядеть так: =ЕСЛИ(B2<>»»; ЕСЛИ(C2=»»;ТДАТА(); C2); «»)
Эта формула работает следующим образом: сначала проверяется, есть ли хоть какое-то содержимое в ячейке. Если да, то запускается вторая проверка. Дальше последовательность действий остается той же самой.
Для полноценной работоспособности этой формулы необходимо включить интерактивные вычисления во вкладке «Файл» и в разделе «Параметры – Формулы». При этом нежелательно делать так, чтобы ссылка ячейки осуществлялась на нее же. Работоспособность от этого будет хуже, а вот функциональность – не улучшится.
Как автоматически заполнять даты в Excel
Если вам надо заполнить большую часть таблицы датами, то можно воспользоваться специальной функцией, которая называется автозаполнением. Давайте рассмотрим некоторые частные случаи ее использования.

Предположим, нам надо заполнить перечень дат, каждая из которых больше на один день по сравнению с предыдущей. В таком случае необходимо использовать автозаполнение так, как и с любыми другими значениями. Сначала необходимо указать в ячейке первоначальную дату, а потом с помощью маркера автозаполнения переместить формулу или вниз или вправо в зависимости от того, в какой последовательности расположена информация в таблице конкретно в вашем случае. Маркер автозаполнения – это маленький квадратик, который находится в правом нижнем углу ячейки, перетаскивая который, можно автоматически заполнить огромное количество информации. Программа автоматически определяет то, как правильно заполнять, и в большинстве случаев оказывается правой. На этом скриншоте мы заполнили дни в столбик. Получился следующий результат.
Но на этом возможности автозаполнения не заканчиваются. Можно выполнить его даже применительно к будням, месяцам или годам. Есть целых два способа, как это сделать.
- Использовать стандартный маркер автозаполнения так, как было описано выше. После того, как программа автоматически закончит все, нужно нажать на значок с параметрами автозаполнения и выбрать подходящий метод.
- Перетащить маркер автозаполнения с помощью правой кнопки мыши, и когда вы отпустите ее, автоматически появится меню с настройками. Выбираете тот способ, который вам нужен, и радуетесь.
Также можно осуществить автоматическую вставку каждого N дня. Для этого нужно добавить значение к ячейке, щелкнуть правой кнопкой мыши по маркеру автозаполнения, зажать ее и перетащить до того места, в котором должна заканчиваться числовая последовательность. После этого выбираем параметр заполнения «Прогрессия» и выбираем значение шага.
Как поставить текущую дату на колонтитул
Колонтитул – это область документа, которая является как бы универсальной для всей книги. Туда могут быть занесены различные данные: имя человека, который составил документ, день, когда это было сделано. В том числе, поставить актуальную дату. Выполняйте следующую инструкцию:
- Откройте меню «Вставка», с которого вызовите меню настройки колонтитулов.
- Добавьте те элементы колонтитулов, которые вам нужны. Это может быть как обычный текст, так и дата, время.
Важное замечание: дата при этом будет статичной. То есть, нет какого-либо автоматизированного способа постоянно обновлять информацию в колонтитулах. Просто нужно с клавиатуры написать те данные, которые актуальны на этот момент.
Поскольку колонтитулы предназначены для вывода сервисной информации, которая не имеет прямого отношения к содержимому документа, то нет смысла там вставлять формулы и прочее. Если нужно воспользоваться формулами, всегда можно записать нужные значения в первой строке (и добавить пустую строку на этом месте, если уже там хранятся какие-то данные) и закрепить ее через вкладку «Вид» или «Окно» в зависимости от используемой версии офисного пакета (первый вариант для тех редакций, которые были выпущены после 2007 года, а второй – для тех, которые были до этого времени).
Таким образом, мы разобрались в разных способах вставить автоматически дату и время в Эксель. Видим, что ничего сложного в этом нет, и даже ребенок может разобраться.
Основные принципы работы с датами и временем в Excel
Как обычно, кому надо быстро — смотрим видео. Подробности и нюансы — в тексте ниже:
Как вводить даты и время в Excel
Если иметь ввиду российские региональные настройки, то Excel позволяет вводить дату очень разными способами — и понимает их все:
С использованием дефисов
С использованием дроби
Внешний вид (отображение) даты в ячейке может быть очень разным (с годом или без, месяц числом или словом и т.д.) и задается через контекстное меню — правой кнопкой мыши по ячейке и далее Формат ячеек (Format Cells) :

Время вводится в ячейки с использованием двоеточия. Например
По желанию можно дополнительно уточнить количество секунд — вводя их также через двоеточие:
И, наконец, никто не запрещает указывать дату и время сразу вместе через пробел, то есть
27.10.2012 16:45
Быстрый ввод дат и времени
Для ввода сегодняшней даты в текущую ячейку можно воспользоваться сочетанием клавиш Ctrl + Ж (или CTRL+SHIFT+4 если у вас другой системный язык по умолчанию).
Если скопировать ячейку с датой (протянуть за правый нижний угол ячейки), удерживая правую кнопку мыши, то можно выбрать — как именно копировать выделенную дату:

Если Вам часто приходится вводить различные даты в ячейки листа, то гораздо удобнее это делать с помощью всплывающего календаря:

Если нужно, чтобы в ячейке всегда была актуальная сегодняшняя дата — лучше воспользоваться функцией СЕГОДНЯ (TODAY) :

Как Excel на самом деле хранит и обрабатывает даты и время
Если выделить ячейку с датой и установить для нее Общий формат (правой кнопкой по ячейке Формат ячеек — вкладка Число — Общий), то можно увидеть интересную картинку:

То есть, с точки зрения Excel, 27.10.2012 15:42 = 41209,65417
На самом деле любую дату Excel хранит и обрабатывает именно так — как число с целой и дробной частью. Целая часть числа (41209) — это количество дней, прошедших с 1 января 1900 года (взято за точку отсчета) до текущей даты. А дробная часть (0,65417), соответственно, доля от суток (1сутки = 1,0)
Из всех этих фактов следуют два чисто практических вывода:
- Во-первых, Excel не умеет работать (без дополнительных настроек) с датами ранее 1 января 1900 года. Но это мы переживем! 😉
- Во-вторых, с датами и временем в Excel возможно выполнять любые математические операции. Именно потому, что на самом деле они — числа! А вот это уже раскрывает перед пользователем массу возможностей.
Количество дней между двумя датами
Считается простым вычитанием — из конечной даты вычитаем начальную и переводим результат в Общий (General) числовой формат, чтобы показать разницу в днях:

Количество рабочих дней между двумя датами
Здесь ситуация чуть сложнее. Необходимо не учитывать субботы с воскресеньями и праздники. Для такого расчета лучше воспользоваться функцией ЧИСТРАБДНИ (NETWORKDAYS) из категории Дата и время. В качестве аргументов этой функции необходимо указать начальную и конечную даты и ячейки с датами выходных (государственных праздников, больничных дней, отпусков, отгулов и т.д.):

Примечание: Эта функция появилась в стандартном наборе функций Excel начиная с 2007 версии. В более древних версиях сначала необходимо подключить надстройку Пакета анализа. Для этого идем в меню Сервис — Надстройки (Tools — Add-Ins) и ставим галочку напротив Пакет анализа (Analisys Toolpak) . После этого в Мастере функций в категории Дата и время появится необходимая нам функция ЧИСТРАБДНИ (NETWORKDAYS) .
Количество полных лет, месяцев и дней между датами. Возраст в годах. Стаж.
Про то, как это правильно вычислять, лучше почитать тут.
Сдвиг даты на заданное количество дней
Поскольку одни сутки в системе отсчета даты Excel принимаются за единицу (см.выше), то для вычисления даты, отстоящей от заданной на, допустим, 20 дней, достаточно прибавить к дате это число.
Сдвиг даты на заданное количество рабочих дней
Эту операцию осуществляет функция РАБДЕНЬ (WORKDAY) . Она позволяет вычислить дату, отстоящую вперед или назад относительно начальной даты на нужное количество рабочих дней (с учетом выходных суббот и воскресений и государственных праздинков). Использование этой функции полностью аналогично применению функции ЧИСТРАБДНИ (NETWORKDAYS) описанной выше.
Вычисление дня недели
Вас не в понедельник родили? Нет? Уверены? Можно легко проверить при помощи функции ДЕНЬНЕД (WEEKDAY) из категории Дата и время.

Первый аргумент этой функции — ячейка с датой, второй — тип отсчета дней недели (самый удобный — 2).
Вычисление временных интервалов
Поскольку время в Excel, как было сказано выше, такое же число, как дата, но только дробная его часть, то с временем также возможны любые математические операции, как и с датой — сложение, вычитание и т.д.
Нюанс здесь только один. Если при сложении нескольких временных интервалов сумма получилась больше 24 часов, то Excel обнулит ее и начнет суммировать опять с нуля. Чтобы этого не происходило, нужно применить к итоговой ячейке формат 37:30:55:

Ссылки по теме


Посмотрите http://planetaexcel.ru/techniques/6/44/
Не оно?


Продублирую вопросик из форума — для функций РАБДЕНЬ и ЧИСТРАБДНИ можно ли:
1. ввести функцию сслыки на список праздников
2. сделать эту функцию доступной для любого файла Excel?
Спасибо Вам огромное Николай за очень полезные и познавательные ролики которые Вы выкладываете\
Просто большое человеческое Спасибо.

Спасибо на добром слове, Анатолий! Будем стараться и дальше вас радовать


Николай,
доброго времени суток. Я сейчас изучаю excel интересным способом: у меня есть товарищ, гуру эксель. =) он даёт задачи, а я их решаю. В решениии помогают Google и всякие книжки. но есть вещи которых я просто не могу там найти. А каждый раз обращаться по «тупому» вопросу с товарищу тоже неудобно.
Сейчас я «встал» на такой вот задаче.
Есть 3 ячейки. 1 ячейка начальная дата (любая), 2 ячейка конечная дата (тоже любая). В 3 ячейке надо дать сумму рабочих дней между этими 2 датами. Однако выходные дни СРЕДА и СУББОТА или только СРЕДА.
Я так понимаю, что это надо сделать через формулу массивов и функции счётесли. Однако просто не понимаю, как можно из двух дат создать массив (двссыл тут не работает).
очень прошу помочь.
Чуть не забыл, для расчётов надо использовать только 1 ячейку.

Решение найдено
=SUM(IF(WEEKDAY(ROW(INDIRECT(A3&»:»&B3));2)<>3;1;0))
всеравно спасибо

Не за что
Добрый день! Помогите, пожалуйста!
Нужно вычислить кол-во часов между двумя ячейками, формат время.
Если в 2х ячейках время АМ
А1=ВРЕМЯ(2;15;0)
В1=ВРЕМЯ(8;0;0)
то =В1-А1 вычисляет нормально = 5,45 часов
но если в одной яч. время РМ после полудня, а в др. АМ до полудня
А1=ВРЕМЯ(23;0;0)
В1=ВРЕМЯ(7;0;0)
то =В1-А1 = ################ — отрицательные или слишком большие дата и время
почему так происходит и как исправить формулу, чтобы получить часы?

Марина, за 6 лет вам так никто и не ответил, но я нашел решение! Такая же проблема была.
Вот во всех этих ячейках, где ############# прописать формулу: =1-ABS(A1-B1) тогда будет реально вычисляться сколько часов прошло.

PS Надеюсь ещё не позно
Александр, если в ячейке А1 стоит дата (например 13.01.2014), а в ячейке А2 количество календарных дней (например 14, предполагается что дата из ячейки А1 тоже учитывается), то формула перекидывающая выходной день на предшествующую пятницу может выглядеть так:
Добрый день, помогите пожалуйста, составить формулу для следующего: имеется долгий лист с датами истечения контракта: нужна формула чтобы от TODAY+5 предположим сигнализировала например изменением цвета
Спасибо! А вы не могли бы объяснить, пожалуйста, как её применять? Потому что 1900 год, после подключения надстройки, он всё равно объявляет номером 1. Возможно, где то должна была появиться доп функция, но я её не углядел
Спасибо!

Это вопрос, скорее, к автору Но, насколько я могу судить по описанию, после подключения надстройки у вас должны появиться новые функции в категории Определенные пользователем .


first of all, thank you very much for your work! It helps A LOT!
one question regarding time format:if time es exported as text like the following
| 08090439 |
how can i convert into time format?
Thank you in advance!

Доброго всем дня, подскажите пожалуйста в формулой по вычислению суммы пени по просрочке
Условие: есть дата оплаты план (П.Дата) и есть дата платы Факк (Ф.Дата), есть сумма на оплату к примеру 10 000(Сумма) и коэф пени например 0,01%(Пени)
Примерно вычисление должно выглядеть след образом : (П.Дата — Ф.Дата ) * Сумма * Пени , т.е.
26 авг — 30 авг= -4 ( Дни просрочки)
4* 10 000*0,01%
Все бы хорошо, но есть одно НО. если формулу протягивать на н-ое количество листов , то она считает все подряд и просроченнные и не просроченные платежи. Т.к. разница дат выходит как с минусом — это и есть просрочка, так и с плюсом — эти платежи еще в перспективе.
Пытался прикрутить условие «Если» , т.е. если дни в разнице дат меньше нуля, то показывается значение с минусом, что собственно и должно идти в расчет, а если дни в разнице дат больше нуля то должен отображаться ноль и все перемножения коэфицентов будут равны нулю, что тоже есть правильно. но при вставке данной формулы выходит ошибка , мол разные еденицы измерения в расчетах. и в графе где по условию должны отображаться дни со значением минус -отображается значение ячейки в которой все это прописано
Всем затык, понять не могу, по логике вроде все верно, а по факту не получается, может у кого есть решение данного вопроса или аналогичные приемы для решения?