Страница 1 из 1
Как с суммировать с опредленный условие, помогите пожулуйста
Добавлено: 11 фев 2008, 11:30
Александр2
Как можно реализовать с помощью Exсel & Vb следующие действия : Имеется ряд производльных чисел например 1, 2, 2, 4, 2.4, 3.4, 5 и так далее Есть критерий по которому нужно их суммировать, верней что бы сумма не превышала допустим 10 (заданное число) Суммировать нужно так чтобы было как можно чисел составляющих в сумме 10 (возможно погрешность +-1, тоесть 9,5 тоже сойдет как результат )чтобы не включать самые большие числа в расчет. Если не понятно выразился сформулирую по другому.
Re: Как с суммировать с опредленный условие, помогите пожулуйста
Добавлено: 11 фев 2008, 18:00
son
если вам нужно, чтобы сумма не превышала заданное число, то сделайте так:
numbers - массив ваших чисел
sum = 0
i = 0
While sum < 10
sum = sum + numbers(i)
i = i + 1
Wend
А чтобы в сумму включались минимальные значения, просто отсортируйте свой массив чисел по возрастанию
Re: Как с суммировать с опредленный условие, помогите пожулуйста
Добавлено: 11 фев 2008, 18:08
Александр2
В этом и проблема нельзя отсортировать по возрастанию, очень большая база несколько тысяч ячеек, надо что бы сравнение , можно создать сначало копию с адресацией , отсортировать , а потом вернуть, но не уверен что прокатит.
Re: Как с суммировать с опредленный условие, помогите пожулуйста
Добавлено: 12 фев 2008, 16:42
son
создайте список на основе своего массива
Код: Выделить всё
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$A$200"), , xlNo).Name = _
"list"
отсортируйте его по возрастанию
Код: Выделить всё
Range("A1:A2000").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
а потом его можно удалить