Поскольку у вас может быть до 10 идентификационных номеров, а сумма может быть составлена из любого из соответствующих значений в столбце E (включая несмежные значения), Дэн прав: вам нужно решение VBA.
Эта пользовательская функция (UDF) многим обязана этому ответу от @ Gary's Student :
Function CheckSums(ID, TargetSum) Dim NumBits As Long, NumSums As Long, RngStart As Integer Dim Mask As String, i As Integer, j As Integer Dim MaskArray() As Integer Dim SumArray() As Integer Dim TestSum As Long NumBits = Application.WorksheetFunction.CountIf(Range("D:D"), ID) NumSums = 2 ^ NumBits - 1 RngStart = Application.WorksheetFunction.Match(ID, Range("D:D"), 0) ReDim MaskArray(NumSums - 1) ReDim SumArray(NumSums - 1) For i = 1 To NumSums Mask = Application.WorksheetFunction.Dec2Bin(i, NumBits) For j = 0 To NumBits - 1 MaskArray(j) = Mid(Mask, j + 1, 1) If MaskArray(j) = 0 Then SumArray(j) = 0 Else SumArray(j) = Range("E" & RngStart + j) End If Next j TestSum = Application.WorksheetFunction.Sum(SumArray()) If TestSum = TargetSum Then CheckSums = True Exit Function End If Next i CheckSums = False End Function
Чтобы использовать эту функцию, вставьте ее в новый модуль VBA, как описано здесь .
Тогда эта формула, заполненная из C2:
=IF(B2<>"",IF(CheckSums(A2,B2),"Yes",""),"")
дает результаты, показанные на скриншоте ниже.