Невозможно, чтобы формулы и пользовательский ввод находились в одном и том же поле. Для этого вам понадобится решение VBA, подобное следующему.
С помощью редактора макросов (alt + f11) поместите в лист, где должен сработать код, следующее:
Option Explicit
Private Sub Worksheet_Change(ByVal rng As Range)
Dim sh As Worksheet
'only trigger on when column 2 experiences a change
If rng.Column = 2 And rng.Value2 = 0 Then
Set sh = rng.Parent
sh.Cells(rng.Row, 1).Value2 = sh.Cells(rng.Row, 3).Value2
End If
End Sub
Обратите внимание, что столбец B здесь нумеруется как 2, а C равен 3 и т. Д.
Эта «перезапись» сработает только, когда столбец B изменится на 0, она не заставит C переместиться в A, когда пользователь перезапишет A впоследствии. Если вы хотите, чтобы он срабатывал всякий раз, когда A, B или C меняются, то перезапишите условие триггера:
If rng.Column <= 3 And rng.Value2 = 0 Then
Если этот ответ был вам полезен, пожалуйста, не забудьте проголосовать. Спасибо!