4

Я пытаюсь сделать две ячейки сохранить фоновую формулу после ввода пользователя и имеет круговую формулу.

A1 = Lbs
A2 = Kgs

Formula
A1 = A2*2.2
A2 = A1/2.2

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

1 ответ1

6

Excel не работает так.

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

Ячейка может иметь формулу или значение. Если вы введете значение в ячейку с формулой, формула будет перезаписана. То, что вы пытаетесь достичь, потребует как минимум 3 ячейки: ячейка ввода для значения, ячейка для единицы и третья ячейка для результата преобразования. Вы можете даже добавить четвертую ячейку для единицы результата. Посмотрите на этот скриншот:

Значение вводится в B2, единица измерения указывается в C2. Конверсия рассчитывается в B3

=IF(C2="lbs",B2/2.2,B2*2.2)

Единица результата вычисляется в C3 с =IF(C2="Kgs","Lbs","Kgs") , но этот бит является необязательным.

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

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("A1:A2")) Is Nothing Then
    If Target.Count = 1 Then
        Application.EnableEvents = False
        If Target.Row = 1 Then
            Target.Offset(1, 0) = Target / 2.2
        Else
            Target.Offset(-1, 0) = Target * 2.2
        End If
        Application.EnableEvents = True
    End If

End If
End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .