如果单元格 a1=25+30+40+10,是否有一个公式可以让单元格 b1 等于 a1(除了所有小于 25 的数字)?所以它将是 b1=30+40。
答案1
答案2
这是一个 VBA UDF(又名用户定义函数)。复制代码并粘贴到VBA标准模块代码表中。
Option Explicit
Function AddendsIf(rng As Range, c As String)
Dim i As Long, a As Variant, f As String, s As Double
f = Mid(rng.Cells(1).Formula, 2)
a = Split(f, "+")
For i = LBound(a) To UBound(a)
If Application.Evaluate(a(i) & c) Then
s = s + Val(a(i))
End If
Next i
AddendsIf = s
End Function
您可以像任何其他本机工作表函数一样在工作表中使用它。
如果您的 Excel 版本支持FORMULATEXT 函数那么你应该能够将它与FILTERXML 函数来实现类似的目标。
一个加数是构成总和的每个单独的值。