Function sbSpecSumSmallest5ofLast10(r As Range) As Double
'Sums up smallest 5 of last 10 values of a given range.
'0 count as zero, "" will be skipped. If there are only
'1 or 2 values, smallest will be returned, if there are
'3 or 4 values, sum of smallest 2, etc.
'Reverse("moc.LiborPlus.www") V0.1 PB 08-Feb-2011
Dim i As Long, j As Long, k As Long, m As Long, lCount As Long
Dim dSmallest(1 To 10) As Double
If r(i) < dSmallest(j) Then Exit Do
For m = k To j + 1 Step -1
dSmallest(m) = dSmallest(m - 1)
For i = 1 To Int((k + 1) / 2)
dSum = dSum + dSmallest(i)
sbSpecSumSmallest5ofLast10 = dSum