Как вставить временную метку в Excel при изменении ячейки (2 эффективных способа)

  • Поделись Этим
Hugh West

В этой статье показано, как в excel установить временную метку при изменении ячейки. Вам может понадобиться отслеживать ввод данных в ячейки определенного столбца. Например, вы зарезервировали столбец B для ввода данных. Теперь вам нужна временная метка в соседней ячейке в столбце C, когда обновляется ячейка в столбце B. Эта статья поможет вам сделать это двумя эффективными способами.

Скачать Практическое пособие

Вы можете скачать рабочую тетрадь по практике с помощью кнопки загрузки ниже.

Временная метка в Excel.xlsm

2 способа вставить временную метку в Excel при изменении ячейки

1. использование функций ЕСЛИ, И, СЕЙЧАС и других для вставки временной метки в Excel

Выполните следующие действия, чтобы получить временную метку с помощью формул при изменении ячейки.

📌 Шаги

  • Первая пресса ALT+F+T открыть Параметры Excel . Затем перейдите к Формулы вкладка. Далее проверьте Включить итеративный расчет флажок. Затем установите Максимальное количество итераций до 1. После этого нажмите OK.

  • Теперь введите следующую формулу в ячейку C5 Затем перетащите Наполнительная рукоятка значок , чтобы скопировать формулу в ячейки ниже.
=IF(AND(B5"",D5B5),NOW(),IF(B5="","",C5))

  • Затем введите следующую формулу в ячейку D5 Далее перетащите Наполнительная рукоятка значок в ячейки ниже, как и ранее.
=IF(B5="","",IF(OR(C5="",AND(ISNUMBER(D5),B5=D5)),D5,B5))

  • Теперь начните вводить значения в ячейки в колонка B После этого вы получите следующий результат. Вот, столбец D это вспомогательный столбец. Вы можете скрыть его, щелкнув правой кнопкой мыши после выделения столбца.

  • В качестве альтернативы вы можете просто ввести следующую формулу в ячейку C5 чтобы получить тот же результат.
=IF(B5"",IF(C5="",NOW(),C5),"")

  • Вам может понадобиться изменить форматирование ячеек в колонка C Выберите столбец, нажав на номер столбца вверху. Затем нажмите кнопку CTRL+1 чтобы открыть Форматирование ячеек диалоговое окно. Теперь нажмите на Пользовательский формат числа. Далее введите d-mmm-yyyy hh:mm:ss AM/PM в Тип поле. Наконец, нажмите кнопку OK.

Формула разбивки:

Формула в ячейке C5:

➤ IF(B5="","",C5))

Сайт функция IF ничего не возвращает, если ячейка B5 пустое. В противном случае возвращается то же значение, которое хранится в C5 .

➤ СЕЙЧАС()

Сайт функция NOW возвращает текущую дату и время.

➤ И(B5"",D5B5)

Сайт функция AND возвращает TRUE если оба аргумента истинны, т.е. клетка B5 не пустой и клетки B5 и D5 не имеют одинакового значения.

➤ IF(AND(B5"",D5B5),NOW(),IF(B5="","",C5))

Если функция AND возвращает TRUE , то функция IF возвращает текущую дату и время, полученные из функция NOW В противном случае возвращается результат, полученный из аргумента, содержащего параметр функция IF .

Формула в ячейке D5:

➤ ISNUMBER(D5)

Сайт функция ISNUMBER возвращает TRUE если ячейка D5 содержит число. В противном случае возвращается Ложь .

➤ AND(ISNUMBER(D5),B5=D5)

Сайт функция AND возвращает TRUE если ячейка D5 содержит число и ячейки B5 и D5 имеют одинаковое значение. Он возвращает FALSE иначе.

➤ OR(C5="",AND(ISNUMBER(D5),B5=D5))

Сайт функция ИЛИ возвращает TRUE если хоть один из аргументов истинен, т.е. клетка C5 пуст или функция AND возвращает TRUE . Возвращается FALSE если все аргументы ложны.

➤ IF(OR(C5="",AND(ISNUMBER(D5),B5=D5)),D5,B5)

Сайт функция IF возвращает то же значение, которое хранится в ячейке D5 если функция ИЛИ возвращает TRUE В противном случае возвращается значение ячейки B5 .

➤ IF(B5="","",IF(OR(C5="",AND(ISNUMBER(D5),B5=D5)),D5,B5)))

Сайт функция IF ничего не возвращает, если ячейка B5 пуст. В противном случае возвращается результат, полученный из аргумента, содержащего функция IF .

Подробнее: Как вставить временную метку Excel при изменении ячейки без VBA (3 способа)

Похожие чтения

  • Как вставить статическую дату в Excel (4 простых метода)
  • Excel VBA: вставка временной метки при выполнении макроса
  • Как вставить штамп даты Excel при изменении ячеек в строке
  • Преобразование временной метки Unix в дату в Excel (3 метода)

2. Применение кода VBA для вставки временной метки в Excel при изменении ячейки

Вы также можете получить временную метку в excel при изменении ячейки с помощью VBA. Для этого выполните следующие действия.

📌 Шаги

  • Сначала щелкните правой кнопкой мыши на вкладке целевого рабочего листа. Затем выберите Посмотреть код Откроется модуль кода для данного рабочего листа.

  • Затем скопируйте следующий код с помощью кнопки копирования в правом верхнем углу.
 Private Sub Worksheet_Change(ByVal Target As Range) Dim CellCol, TimeCol, Row, Col As Integer Dim DpRng, Rng As Range CellCol = 2 TimeCol = 3 Row = Target.Row Col = Target.Column If Row <= 4 Then Exit Sub Timestamp = Format(Now, "DD-MM-YYYY HH:MM:SS AM/PM") If Target.Text "" Then If Col = CellCol Then Cells(Row, TimeCol) = Timestamp Else On Error Resume Next Set DpRng = Target.Dependents ForEach Rng In DpRng If Rng.Column = CellCol Then Cells(Rng.Row, TimeCol) = Timestamp End If Next End If End If End Sub 
  • После этого вставьте скопированный код в пустой модуль, как показано ниже.

  • Затем сохраните документ как рабочая книга с поддержкой макросов Теперь начните вводить данные в ячейки столбца B. Вы получите те же результаты, что и ранее.

Объяснение кода VBA:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim CellCol, TimeCol, Row, Col As Integer

Dim DpRng, Rng As Range

Объявление необходимых переменных.

CellCol = 2

Колонка ввода данных.

TimeCol = 3

Колонка временной метки.

Row = Target.Row

Col = Target.Column

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

If Row <= 4 Then Exit Sub

Любые изменения в пределах 4 верхних строк не создадут временную метку.

Timestamp = Format(Now, "DD-MM-YYYY HH:MM:SS AM/PM")

Временная метка будет отформатирована таким образом. Измените ее по мере необходимости.

If Target.Text "" Then

If Col = CellCol Then

Cells(Row, TimeCol) = Timestamp

Создайте временную метку, если выбранная ячейка пуста.

При ошибке продолжить Далее

При возникновении ошибки игнорируется.

Set DpRng = Target.Dependents

Для каждого Rng в DpRng

If Rng.Column = CellCol Then

Cells(Rng.Row, TimeCol) = Timestamp

Создайте временные метки для диапазона ячеек, если он не пуст.

Подробнее: Как автоматически вставлять записи данных с временными метками в Excel (5 методов)

О чем следует помнить

  • Чтобы получить правильно отформатированную метку времени, необходимо использовать пользовательский формат для ячеек в столбце B.
  • Альтернативная формула работает только при вводе данных в пустые ячейки.
  • Здесь ввод данных и столбец временной метки жестко закодированы в коде VBA. Вам необходимо изменить код в соответствии с вашим набором данных.

Заключение

Теперь вы знаете, как сделать временную метку в excel при изменении ячейки. Если у вас возникли дополнительные вопросы или предложения, пожалуйста, воспользуйтесь для этого разделом комментариев ниже. Вы также можете посетить наш сайт ExcelWIKI блог, чтобы узнать больше об excel. Оставайтесь с нами и продолжайте учиться.

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.