【问题标题】:Making 3 cells always sum to 1使 3 个单元格总和为 1
【发布时间】:2014-03-25 15:18:23
【问题描述】:

我在 excel 中有三个单元格。它们的总和必须始终为 1。当用户输入任何两个单元格时,例如0.2 和 0.4,我希望第三个单元格自动填充(在本例中为 0.4),以便三个单元格的总和为 1。

希望这很清楚。 谢谢。

【问题讨论】:

  • 如果单元格中有公式,当用户输入值时它们将被覆盖,因此您需要在 Worksheet_Change 中运行一些 VBA 来确定如何将其加起来。

标签: excel populate


【解决方案1】:

对于单元格 A1B1C1,请尝试以下小事件宏:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim RW As Range
    Set RW = Range("A1:C1")
    If Intersect(Target, RW) Is Nothing Then Exit Sub
    If Application.WorksheetFunction.CountA(RW) <> 2 Then Exit Sub
    fillin = 1 - Application.WorksheetFunction.Sum(RW)
    For Each r In RW
        If r.Value = "" Then
            Application.EnableEvents = False
                r.Value = fillin
            Application.EnableEvents = True
        End If
    Next r
End Sub

【讨论】:

    【解决方案2】:

    我会建议以下解决方案。您可以对 IF 语句使用不同的公式。

    我在这里上传了一张图片:http://postimg.org/image/e559dj55b/

    ![在红色部分中,您有公式检查单元格 1、2、3 中的值是否为“”,如果是,则要获得 1 的总和,您需要剩余的部分,可以描述为 1 减其他两个单元格][1]

    最后只为了获得一行中的数字,您可以获得上述红色或绿色部分之一,并将单元格设置为没有空白区域的值。

    希望能为您解决问题!

    PS:对不起上面的德国人。 Falsch 表示错误!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多