
Wenn Zelle a1 = 25 + 30 + 40 + 10 ist, gibt es dann eine Formel, um Zelle b1 gleich a1 zu machen, außer für alle Zahlen unter 25? Dann wäre es b1 = 30 + 40.
Antwort1
Versuchen Sie, die Funktionen Formulatext und Filterxml zu verwenden, die in Excel 2013 oder höher verfügbar sind
Geben Sie in A1
Folgendes ein:=25+30+40+10
Geben Sie in B1
der Formel Folgendes ein:
=SUMPRODUCT(FILTERXML("<a><b>"&SUBSTITUTE(MID(FORMULATEXT(A1),2,99),"+","</b><b>")&"</b></a>","//b[.>25]"))
Antwort2
Dies ist eine VBA-UDF (auch bekannt alsBenutzerdefinierte Funktion). Kopieren Sie den Code und fügen Sie ihn in ein Codeblatt eines VBA-Standardmoduls ein.
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
Sie können es wie jede andere native Arbeitsblattfunktion wieder im Arbeitsblatt verwenden.
Wenn Ihre Version von Excel dieFORMULATEXT-Funktiondann sollten Sie in der Lage sein, dies mit dem zu koppelnFILTERXML-Funktionum etwas Ähnliches zu erreichen.
EinSummandist jeder einzelne Wert, der eine Summe ergibt.