Как вставить функцию = now () в ячейку автоматически, когда я пишу в другой, и нажмите enter

Я хотел бы знать, как:

Автоматически иметь функцию =now() в столбце B Excel, отображаемую только в каждой ячейке (B1, B2, .. Bν) всякий раз, когда я пишу что-то в столбце A в соответствующих ячейках (A1, A2, .. Aν).

Введите описание изображения здесь

НОВЫЙ ОТВЕТ

Если вы хотите иметь временную метку, которая не пересчитывается, вам нужно будет использовать метод Circular Formulas . Это в основном позволяет ячейке выполнять функцию, основанную на собственном контенте.

Вам нужно включить эту функцию, выбрав «Файл»> «Параметры»> «Формулы», а затем отметьте « Enable iterative calculation . Измените число итераций на 1 . Нажмите OK и сохраните лист.

 =IF(A1<>"",IF(B1="",NOW(),B1),"") 

Объяснение:

Первый IF аналогичен первому ответу. Он проверяет, свободен ли A1 . <> – это логический оператор, означающий not equal to . Второй IF проверяет себя и запускается, если содержимое введено в A1 . Если B1 пуст, он вводит текущую дату и время, иначе он выводит существующее содержимое (исходная временная метка).


ОРИГИНАЛЬНЫЙ ОТВЕТ

Вы можете попробовать это в B1:

 =IF(ISBLANK(A1),"",NOW()) 

Объяснение:

ISBLANK – это логический тест, который проверяет, имеет ли целевая ячейка какой-либо вход. Он возвращает TRUE или FALSE . IF структурирован так, что если целевая ячейка пуста, она выведет пустую строку. Если в A1 введен любой ввод, он выведет текущее время и дату.

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


Рекомендации:

Не всегда полезно использовать VBA для всего, но это хороший кандидат, особенно если вы хотите отслеживать, когда была изменена строка, а не только когда она была впервые введена. Вставьте код в лист для столбца временной метки:

 Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False Dim intersection As Range ' Change A:A,C:E to whatever range you want to watch. Set intersection = Application.Intersect(Target, Me.Range("A:A,C:E")) If Not intersection Is Nothing Then Dim r As Range For Each r In intersection.Rows ' Change B1 to whichever column is the timestamp. r.EntireRow.Range("B1").Value = Now Next End If Application.EnableEvents = True End Sub 

В этом примере столбцы A, C, D и E просматриваются для изменений, а когда происходят изменения, текущая дата и время вставляются в столбец B той же строки.

  • VLOOKUP с несколькими критериями
  • Табличная таблица Excel не сортируется
  • Возвращайте значение, учитывая, что число находится в определенном диапазоне
  • Как я могу суммировать свои данные по неделям?
  • Цвет фона альтернативной сетки в excel при изменении значения одного столбца?
  • Умножение значений в Excel 2010 (одна и та же ячейка)
  • Невозможно вставить ячейки в Excel 2010 - сообщение об ошибке «операция не разрешена»
  • Как переносить несколько строк в один столбец
  • Условное форматирование: 3 цветовая шкала, отображающая актуальность текста в Excel для Mac
  • Как рассчитать возраст в годах?
  • Как получить данные из отдельных листов, отображаемых в отдельной отдельной рабочей таблице
  • Давайте будем гением компьютера.