Добрый день,
Роман !
Цитата:Для определения границ для групп в обоих видах анализа строят графики зависимости полученного значения от доли порядкового номера объекта в общем количестве объектов анализа (нумерацию надо сделать после сортировки по полученному значению). По графику определяют точки перегибов. Они и становятся границами групп.
Но это же совсем другая методика разделения на группы. По ней 20% (если это именно 20%) номенклатуры делают 80% прибыли проитив ваших 50%. Более подробно разницу методик обсуждают здесь:
http://logist.ru/forum/YaBB.cgi?board=publication;action=display;num=1097251352 Цитата:это крайне заморочное мероприятие,
Разработка, действительно дело не очень простое, но понять можно. Привожу функцию, которую написал для УВА Ехсел, - она разбивает по моей методике автоматически:
Function ABC(diapazon As Range) As String
'выдаёт значения, с которых начинаются группы B и C АВС-анализа
'позиции должны стоять в порядке убывания количественного параметра
Dim i As Integer
Dim yachejka As Range
Dim sum As Single
Dim v_ya As Single
Dim temp As Single
Dim maxnov As Integer
Dim b As Single
Dim j As Integer
Dim c As Single
sum = 0
maxnom = 0
temp = 0
i = 0
For Each yachejka In diapazon
sum = sum + yachejka.Value
maxnom = maxnom + 1
Next yachejka
Do
i = i + 1
v_ya = diapazon.Cells(i, 1)
temp = temp + v_ya
Loop While (temp / sum + i / maxnom) <= 1
b = v_ya
j = i
Do
j = j + 1
v_ya = diapazon.Cells(j, 1)
temp = temp + v_ya
Loop While ((temp - b) / (sum - b) + (j - i) / (maxnom - i)) <= 1
c = v_ya
ABC = "Группа B начинается с: " & b & " Группа C начинается с: " & c
End Function
Цитата:в результате которого получается, одно и то же
Я собственно поднял вопрос только потому что результат получается несколько разный. Каждый может убедиться применив написанную выше функцию к своей ситуации.