首页 文章

重新排列方程式

提问于
浏览
-1

例如,一个简单的等式是

F = m * a

我有我的excel表

所以在这里我还没有输入 m 是否有可能重新排列等式来计算 m

m = F / a
  • excel是否有内置工具来执行此操作?

  • VBA可以这样做吗?

  • 任何其他方式实现这一目标2以上是不可能的?

所以基本上如果我将任何一个变量单元格留空并填写其他两个,我希望第三个变量的结果 .

2 回答

  • 2

    将其放在工作表的私有代码表中(右键单击工作表名称选项卡,查看代码) .

    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
    
  • 1

    您可以使用if()语句执行此操作:

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

    没有进行任何错误检查,例如检查任何两个单元格中的数字等...

相关问题