Тоже писал свою функцию для подсчета сочетаний, чтобы уйти от WorksheetFunction.Combin():
Работает относительно быстро, нет реального расчета факториалов (не возникает переполнения при n > 170)
Код |
---|
Function MyCombin(ByVal n As Long, ByVal m As Long) As Double Dim i As Long, p As Double If m > n Or m < 0 Then Exit Function If m > n - m Then m = n - m p = 1 For i = 1 To m p = p * n / i n = n - 1 Next i MyCombin = p End Function |
Работает относительно быстро, нет реального расчета факториалов (не возникает переполнения при n > 170)