Автоматическая вставка текущей даты в ячейку при вводе данных
Предположим, у нас имеется таблица заказов, куда пользователь вводит номер заказа, имя клиента, сумму и т.д. Необходимо сделать так, чтобы при внесении номера заказа в столбец А — в столбце B напротив введенного заказа автоматически появлялись дата и время его занесения:
Чтобы реализовать такой ввод даты, нам потребуется простой макрос, который надо добавить в модуль рабочего листа. Для этого щелкните правой кнопкой мыши по ярлычку листа с таблицей и выберите в контекстном меню команду Исходный текст (View code).
В открывшееся окно редактора Visual Basic скопируйте этот текст этого макроса:
Private Sub Worksheet_Change(ByVal Target As Range) For Each cell In Target 'проходим по всем измененным ячейкам If Not Intersect(cell, Range("A2:A100")) Is Nothing Then 'если изменененная ячейка попадает в диапазон A2:A100 With cell.Offset(0, 1) 'вводим в соседнюю справа ячейку дату .Value = Now .EntireColumn.AutoFit 'выполняем автоподбор ширины для столбца B, чтобы дата умещалась в ячейке End With End If Next cell End Sub
При необходимости измените «чувствительный» диапазон «А2:А100» на свой собственный. Если необходимо вставлять дату не в соседний столбец, а правее — подставьте в оператор Offset(0,1) вместо 1 число побольше.
Закройте редактор Visual Basic и попробуйте ввести что-нибудь в диапазон А2:А100. В соседней ячейке тут же появится текущая дата-время!
Ссылки по теме
- Как сделать выпадающий календарь для быстрого ввода любой даты мышью в любую ячейку.
- Как Excel работает с датами
- Что такое макрос, как он работает, куда копировать текст макроса, как запустить макрос?
Автозаполнение датой при записи в соседнюю ячейку |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Работа с временем и датой – важный аспект использования Microsoft Excel. Сегодня вы узнаете, как можно вводить дату разными способами, как определить сегодняшнюю дату с помощью метки времени или же использовать динамически изменяемые значения. Также вы поймете, с помощью каких действий можно заполнить колонку или ряд днями недели.
Существует несколько вариантов, позволяющих добавить даты в Excel. В зависимости от того, какие цели вы преследуете, действия отличаются. А задачи могут быть любыми: указать сегодняшнее число или же добавить к листу дату, которая будет автоматически обновляться и показывать всегда то, что сейчас на данный момент на часах и календаре. Или же вы хотите сделать так, чтобы электронная таблица была автоматически заполнена рабочими днями или ввести случайную дату. Независимо от того, какие цели вы преследуете, вы сегодня узнаете, как их достичь.
Содержание
- Как ввести дату в 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 для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Еще…Меньше
Допустим, вы хотите легко ввести текущие дату и время при создании журнала действий. Или, возможно, вам нужно автоматически отображать текущие дату и время в ячейке при каждом пересчете формул. Существует несколько способов вставки текущих даты и времени в ячейку.
Вставка фиксированного значения даты или времени в ячейку Excel
Фиксированное значение на листе не изменяется при пересчете или открытии листа. При нажатии клавиш CTRL+; для вставки текущей даты в ячейку Excel «делает снимок» текущей даты, который вставляется в ячейку. Так как значение этой ячейки не меняется, оно считается статическим.
-
Выделите на листе ячейку, в которую требуется вставить текущую дату или время.
-
Выполните одно из действий, указанных ниже.
-
Чтобы вставить текущую дату, нажмите клавиши CTRL+; (точка с запятой).
-
Чтобы вставить текущее время, нажмите клавиши CTRL+SHIFT+; (точка с запятой).
-
Чтобы вставить текущие дату и время, нажмите клавиши CTRL+; (точка с запятой), затем клавишу ПРОБЕЛ, а после этого — CTRL+SHIFT+; (точка с запятой).
-
Изменение формата даты и времени
Чтобы изменить формат даты или времени, щелкните ячейку правой кнопкой мыши и выберите формат ячеек. Затем в диалоговом окне Формат ячеек на вкладке Число в списке Категория выберитедата или время, а затем в списке Тип выберите тип и нажмите кнопку ОК.
Вставка фиксированного значения даты или времени в ячейку Excel
Фиксированное значение на листе не изменяется при пересчете или открытии листа. При нажатии клавиш CTRL+; для вставки текущей даты в ячейку Excel «делает снимок» текущей даты, который вставляется в ячейку. Так как значение этой ячейки не меняется, оно считается статическим.
-
Выделите на листе ячейку, в которую требуется вставить текущую дату или время.
-
Выполните одно из действий, указанных ниже.
-
Чтобы вставить текущую дату, нажмите клавиши CTRL+; (точка с запятой).
-
Чтобы вставить текущее время, нажмите + ; (точка с за semi-двоеточием).
-
Чтобы вставить текущие дату и время, нажмите CTRL+; (точка с за semi-двоеточием), затем нажмите пробел, а затем нажмите +; (точка с за semi-двоеточием).
-
Изменение формата даты и времени
Чтобы изменить формат даты или времени, щелкните ячейку правой кнопкой мыши и выберите формат ячеек. Затем в диалоговом окне Формат ячеек на вкладке Число в списке Категория выберитедата или время, а затем в списке Тип выберите тип и нажмите кнопку ОК.
Вставка фиксированного значения даты или времени в ячейку Excel
Фиксированное значение на листе не изменяется при пересчете или открытии листа. При нажатии клавиш CTRL+; для вставки текущей даты в ячейку Excel «делает снимок» текущей даты, который вставляется в ячейку. Так как значение этой ячейки не меняется, оно считается статическим.
-
Выделите на листе ячейку, в которую требуется вставить текущую дату или время.
-
Выполните одно из действий, указанных ниже.
-
Чтобы вставить дату, введите дату (например, 2/2) и щелкните Главная > числовом формате (на вкладке Число) >Краткий формат даты или Длинный формат даты.
-
Чтобы вставить время, введите время, а затем щелкните Главная > числовом формате (на вкладке Число) >время.
-
Изменение формата даты и времени
Чтобы изменить формат даты или времени, щелкните ячейку правой кнопкой мыши и выберите числовом формате. Затем в диалоговом окне Числовом формате в списке Категория выберитедата или время, а затем в списке Тип выберите тип и нажмите кнопку ОК.
Вставка обновляемого значения даты или времени
Дата или время обновляемые при пересчете листа или открытии книги, считаются «динамическими», а не статическими. Наиболее распространенным способом получения динамической даты или времени в ячейке на листе является использование функции листа.
Для вставки обновляемой текущей даты или времени используются функции СЕГОДНЯ и ТДАТА, как показано в приведенном ниже примере. Дополнительные сведения об использовании этих функций см. в статьях Функция СЕГОДНЯ и Функция ТДАТА
Например:
Формула |
Описание (результат) |
=СЕГОДНЯ() |
Текущая дата (значения могут быть разными) |
=ТДАТА() |
Текущие дата и время (значения могут быть разными) |
-
Выделите текст в таблице, приведенной выше, и нажмите клавиши CTRL+C.
-
На пустом листе щелкните ячейку A1 один раз и нажмите CTRL+V. Если вы работаете в Excel в Интернете, повторите копирование и в копирование для каждой ячейки в примере.
Важно: Чтобы пример правильно работал, его нужно вставить в ячейку A1.
-
Чтобы переключиться между просмотром результатов и просмотром формул, возвращающих эти результаты, нажмите клавиши Ctrl+` (знак ударения) или на вкладке Формулы в группе Зависимости формул нажмите кнопку Показывать формулы.
Скопировав пример на пустой лист, можно настроить его в соответствии со своими потребностями.
Примечание: Результаты, возвращаемые функциями СЕГОДНЯ и ТДАТА, изменяются только при пересчете листа или при выполнении макроса, содержащего эту функцию. Постоянного обновления ячеек, содержащих эти функции, не происходит. В качестве значений даты и времени используются показания системных часов компьютера.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Нужна дополнительная помощь?
The Date and Timestamp is a type of data type that determines the date and time of a particular region. It contains some characters along with some encoded data. This format may vary from language to language. Keeping track of date and time helps in managing records of our work as well as segregate the information day-wise. In this article, we will be going to learn how we can automatically insert Date and Timestamp in Excel.
There are multiple ways to insert Date and Timestamp in Excel. These methods include both static and dynamic methods.
1. Inserting Date And Timestamp using keyboard shortcuts (Static method)
The static method is helpful when there are only a few cells where you need to insert the Date and Timestamp. You can quickly use the keyboard shortcut to manually insert the Date and Timestamp.
Follow the below steps to implement the same:
- Select the cell into which the current date or time needs to be inserted.
- Use this shortcut – Ctrl + ; (Control + semicolon) to insert the current date.
- Use this shortcut – Ctrl + Shift + ; (Control + Shift + semicolon) to insert the current time.
- Use this shortcut – Press the combination (Ctrl + ;) and (Ctrl + Shift + ;) to insert the current time and time.
2. Inserting Date And Timestamp using Formulas:
The NOW() and TODAY() functions can be used to insert the current date and time that will update automatically. This method dynamically updates the date-time whenever a change is made in the worksheet.
- NOW(): To insert current date and time.
- TODAY(): To insert the current date.
Follow the below steps to implement the same:
- Select the cell into which the current date or time needs to be inserted.
- Enter the function NOW() or TODAY().
- Press the Enter key.
- The current date-time or date will be inserted into the selected cell.
3. Insert Timestamp Automatically While Entering Data In Different Column
This method will enable the insertion of the timestamp in a column while entering data into another column. For example, consider two columns A and B in your worksheet. While you enter data in a cell of column A, the current date and time in the corresponding cell in Column B will get updated automatically.
Follow the below steps to implement the same:
- Click File -> Options and the Excel Options dialogue box will appear. Now from the left pane, select the Formulas option. You will see Enable interactive calculation in the right pane below Calculation options. Check this option and select OK.
- In this next adjoining column (say column B), enter this formula:
=IF(A1<>"",IF(B1<>"",B1,NOW()),"")
- Drag and select cells to auto-fill the formula.
- You can also customize the format of the date and time. To do this, right-click on the selected formula cells, go to the context menu, and select Format Cells. You will see the Format cells dialogue box. Go to the bottom and select Custom. In the right pane select the suitable format for your cells.
- Now when you enter the data in a column, you will get the date and time in your chosen format in the adjoining cell.
4. Using VBA To Insert Timestamp Automatically While Entering Data In a Different Column
If you are familiar with working on VBA, then there is another method for you to automatically insert the timestamp in your excel sheet using VBA.
Follow the below steps to implement the same:
- To open Microsoft Visual Basic for Applications, press Alt + F11. The VBA window will open. Now go to Insert and select the Module to open a blank module.
- Now, add the code given below to your blank module and save the code.
Function MyTimestamp(Reference As Range) If Reference.Value <> "" Then MyTimestamp = Format(Now, "dd-mm-yyyy hh:mm:ss") Else MyTimestamp = "" End If End Function
- Go back to your worksheet and type the below formula in your cell in which you want to insert timestamp.
A is the column for inserting entries of data. B is corresponding column, into which the date and timestamp will be updated. Type the below formula into B1 cell: =MyTimestamp(A1)
- Now, if you insert the entry in a column, you will get the date and time in the adjoining cell automatically.