Автоматически обновлять ячейку в Excel с текущей отметкой времени при изменении другой ячейки

11

В электронной таблице Excel я хотел бы автоматически обновлять ячейку с текущей датой и временем, когда другая ячейка изменяется (например, отметка времени обновления).

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

У вас есть указания, как это сделать?


источник
@Raystafarian: у нас есть круговые дураки. Это старый вопрос. Если оба закроются, мы заблокируем все новые ответы.
fixer1234

Ответы:

9

Создайте ячейку со значением Now (). Отформатируйте его как хотите - например, гггг / мм / дд чч: мм: сс для полной отметки времени за 24 часа.

Теперь, если установлен автоматический перерасчет (по умолчанию), каждый раз, когда изменяется другая ячейка, вы получите новую отметку времени.

При дальнейшем рассмотрении, если вам нужна жестко заданная временная метка, которая обновляется только действиями, не включающими такие вещи, как открытие рабочей книги, печать и т. Д., Вы можете создать макрос, прикрепленный к worksheet_change. Установите целевую ячейку как текст с определенным форматированием, как раньше. Используйте что-то вроде: Sheet1.Cells []. Value = Text (Now (), "гггг / мм / дд ЧЧ: мм: сс") в событии Worksheet_Change.

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

wbogacz
источник
+1 Понравился второй ответ лучше первого.
DaveParillo
Я обновил вопрос, чтобы лучше отразить необходимость: для каждой строки есть временная метка. Я хотел бы обновить их, как только обновится одна из предыдущих ячеек в строке. Так что я думаю, что здесь нужен макрос, как вы упомянули. Я буду искать этот путь. Спасибо.
Следует отметить, что помещение кода в событие Worksheet_Change () приведет к тому, что Excel будет уничтожать стек отмены каждый раз при выполнении. Таким образом, если вы обновляете значения в другом месте на листе, это решение по существу отключит отмену для этого листа в качестве побочного эффекта.
Росс Маккони
8

http://chandoo.org/wp/2009/01/08/timestamps-excel-formula-help/ содержит подробную информацию о том, как реализовать временные метки с использованием рекурсивной формулы. Они работают удовольствие.

В статье рассказывается, как сначала включить циклическую формулу (по умолчанию отключено), а затем создать циклическую формулу, которая автоматически вставляет метку времени, когда в конкретную ячейку вставляется значение.

Если ячейка для метки времени - B3, а ячейка для просмотра - C3, формула:

=IF(C3<>"",IF(B3="",NOW(),B3),"")

То есть, когда C3 не является пустым, установите B3 на NOW () (если B3 было пустым), в противном случае текущее значение B3.

Это выглядит стабильно по сравнению с обновлениями и сохраняет.

Джонатан Райт
источник