То, что вы описываете, не может быть сделано без VBA, если вы хотите, чтобы обе ячейки были редактируемыми.
Как вы узнали, ссылки на эти формулы друг друга создают круговые ссылки. Даже если это сработает, как только вы выберете значение из раскрывающегося списка, любая формула будет перезаписана.
Следовательно, VBA - ваш единственный выбор. Если ячейки находятся на двух разных листах, код для этого может выглядеть так:
В модуле Sheet1:
Private Sub Worksheet_Change(ByVal Target As Range)
' monitor cell A1
If Not Intersect(Target, Range("A1")) Is Nothing Then
Application.EnableEvents = False 'prevent endless loop of events
' copy selected value to Sheet2, cell b1
ThisWorkbook.Worksheets("Sheet2").Range("B1") = Range("A1")
Application.EnableEvents = True
End If
End Sub
В листовом модуле Sheet2
Private Sub Worksheet_Change(ByVal Target As Range)
' monitor cell B1 on sheet 2
If Not Intersect(Target, Range("B1")) Is Nothing Then
Application.EnableEvents = False 'prevent endless loop of events
' copy selected value to Sheet1, cell A1
ThisWorkbook.Worksheets("Sheet1").Range("A1") = Range("B1")
Application.EnableEvents = True
End If
End Sub