
если ячейка 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 поддерживаетФункция ФОРМУЛАТЕКСТто вы должны быть в состоянии связать это сФункция FILTERXMLчтобы добиться чего-то подобного.
Ансложение— это каждое отдельное значение, составляющее сумму.