Переставить уравнения - PullRequest
0 голосов
/ 09 декабря 2018

Например, простое уравнение:

F = m * a

И в моем листе Excel есть

enter image description here

Итак, здесь яне введено m Можно ли изменить уравнение для вычисления для m

m = F / a
  • Есть ли в Excel встроенное средство для этого?
  • Может лиVBA делает это?
  • Любой другой способ достичь этого, если вышеупомянутые 2 невозможны?

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

Ответы [ 2 ]

0 голосов
/ 09 декабря 2018

Поместите это в личный кодовый лист рабочего листа (щелкните правой кнопкой мыши на вкладке имени рабочего листа, Просмотреть код).

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Intersect(Target, Range("B2:B4")) Is Nothing Then
        On Error GoTo safe_exit
        Application.EnableEvents = False
        If Application.Count(Range("B2:B4")) = 2 Then
            If IsEmpty(Range("B2")) Then
                Range("B2") = Range("B3").Value2 * Range("B4").Value2
            ElseIf IsEmpty(Range("B3")) Then
                Range("B3") = Range("B2").Value2 / Range("B4").Value2
            Else
                Range("B4") = Range("B2").Value2 / Range("B3").Value2
            End If

            Range("B2").NumberFormat = "0 \N"
            Range("B3").NumberFormat = "0.0 \k\g"
            Range("B4").NumberFormat = "0 \m\/\s\²"
        End If
    End If

safe_exit:
    Application.EnableEvents = True

End Sub
0 голосов
/ 09 декабря 2018

Вы можете сделать это с помощью оператора if ():

=if(b3="",b2/B4,if(b2="",B3*b4,if(b4="",b2/b3,"Check")))

Не ставить проверку ошибок, такую ​​как проверка чисел в любых двух ячейках и т. Д. *

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...