2015-01-27 6 views
0

Я хочу установить временную метку в ячейке, когда пользователь изменяет другую ячейку, но без VBA, так как я хочу, чтобы это работало в ситуациях с меньшим количеством. Все найденные мной решения используют код Worksheet_Change VBA, поэтому мне нужен ответ без VBA.Excel - обновление значения ячейки при изменении другой ячейки без VBA

Пример: пользователь обновляет столбец A. Я хочу столбец B, чтобы записать метку времени, когда пользователь изменяет столбец A.

ответ

1

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

  1. Включите итеративных вычислений, но установить максимальные итерации 1.
  2. В столбце В каждой строке, где метка времени будет идти, использовать эту формулу. Поэтому для строки 2 ячейка B2 будет содержать: =IF(AND(A2<>"",C2<>A2),NOW(),IF(A2="","n/a",B2))

  3. В столбце C (или любой другой неиспользованной колонке) поместите эту формулу. Таким образом, для строки 2, ячейка C2 содержит: =IF(A2="","",IF(OR(B2="",AND(ISNUMBER(C2),A2=C2)),C2,A2))

Вот и все. Результат будет выглядеть следующим образом. Вы можете форматировать отметку времени на другие значения курса:

| A B C | 1| User Entry Timestamp Prev | 2| dog 6:28:55 PM dog | 3| cat 7:17:42 PM cat | 4| n/a |

Столбец C сохраняет значение А так что, когда изменяются, формулы известны, что А изменили значение. Временная метка не изменится, если пользователь входит в ячейку «собака», но оставляет «собаку» в качестве значения. И временная метка строки 2 не изменяется, когда вы меняете ячейку A в некоторой другой строке, что является проблемой некоторых решений excel, которые фиксируют метки времени.

Смежные вопросы