Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/ABC&XYZ-анализ - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Мир MS Excel » Вопросы и решения » Готовые решения » ABC&XYZ-анализ
ABC&XYZ-анализ
Саня Дата: Воскресенье, 17.10.2010, 19:42 | Сообщение № 1
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
Мое детище:
К сообщению приложен файл: ABC.xls (84.0 Kb)
 
Ответить
СообщениеМое детище:

Автор - Саня
Дата добавления - 17.10.2010 в 19:42
Гость Дата: Среда, 15.12.2010, 03:40 | Сообщение № 2
Группа: Гости
Предлагаю опробовать и мой вариант, надстройку Inventor

С помощью Inventor вы сможете быстро и удобно:

- провести АВС - анализ 4 возможными методами + возможность визуализации цветом,

- провести XYZ - анализ с возможностью оценки границ групп на графике кривой XYZ,

- оценить динамику продаж на графике и подобрать формулу для прогноза продаж,

- рассчитать страховой запас,

- провести анализ совместных продаж (новая функция),

- автоматизировать процесс управления запасами в Excel,

- обрабатывать псевдочисла и текст,

- обрабатывать ячейки и диапазоны,

- и т.д. (еще более 50 функций).

http://zakup.vl.ru/64-inventor.html

 
Ответить
СообщениеПредлагаю опробовать и мой вариант, надстройку Inventor

С помощью Inventor вы сможете быстро и удобно:

- провести АВС - анализ 4 возможными методами + возможность визуализации цветом,

- провести XYZ - анализ с возможностью оценки границ групп на графике кривой XYZ,

- оценить динамику продаж на графике и подобрать формулу для прогноза продаж,

- рассчитать страховой запас,

- провести анализ совместных продаж (новая функция),

- автоматизировать процесс управления запасами в Excel,

- обрабатывать псевдочисла и текст,

- обрабатывать ячейки и диапазоны,

- и т.д. (еще более 50 функций).

http://zakup.vl.ru/64-inventor.html


Автор - Гость
Дата добавления - 15.12.2010 в 03:40
Гость Дата: Воскресенье, 20.02.2011, 21:46 | Сообщение № 3
Группа: Гости
Супер! Спасибо. smile
 
Ответить
СообщениеСупер! Спасибо. smile

Автор - Гость
Дата добавления - 20.02.2011 в 21:46
Rama Дата: Воскресенье, 01.09.2013, 09:33 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 59
Репутация: 0 ±
Замечаний: 20% ±

2010
Цитата
Мое детище:Саня

К сообщению приложен файл: ABC.xls(84Kb)


Отличное решение. Я периодически с этим связан по работе и данный макрос (для меня для юзера) интересен. Если тема здесь еще жива, прошу чуть "модернизировать" и тогда это будет по истине шедевр решения. Я осмелюсь заявить, что лучшее решение в интернете. (Inventor я тестировал, но результат скуп и сложен в вводных)
Что хотелось бы добавить в "ABC.xls":
1. Обязательно: номер верхней строки с названием столбцов (она не всегда первая и может быть намного ниже)
2. Обязательно: выбор столбцов для анализа (часто нужно из 12 месяцев проанализировать последние 4. Сейчас это не возможно, если не удалить первые 8)
3. Обязательно: оставить в итоге формулы вычисления (для правок, часто это нужно (например период изменить по одной из позиций))
4. Для красоты график/диаграмму (например круговой долей по ABC)

P.S. Есть ли похожее ?


Сообщение отредактировал Rama - Воскресенье, 01.09.2013, 09:36
 
Ответить
Сообщение
Цитата
Мое детище:Саня

К сообщению приложен файл: ABC.xls(84Kb)


Отличное решение. Я периодически с этим связан по работе и данный макрос (для меня для юзера) интересен. Если тема здесь еще жива, прошу чуть "модернизировать" и тогда это будет по истине шедевр решения. Я осмелюсь заявить, что лучшее решение в интернете. (Inventor я тестировал, но результат скуп и сложен в вводных)
Что хотелось бы добавить в "ABC.xls":
1. Обязательно: номер верхней строки с названием столбцов (она не всегда первая и может быть намного ниже)
2. Обязательно: выбор столбцов для анализа (часто нужно из 12 месяцев проанализировать последние 4. Сейчас это не возможно, если не удалить первые 8)
3. Обязательно: оставить в итоге формулы вычисления (для правок, часто это нужно (например период изменить по одной из позиций))
4. Для красоты график/диаграмму (например круговой долей по ABC)

P.S. Есть ли похожее ?

Автор - Rama
Дата добавления - 01.09.2013 в 09:33
Саня Дата: Среда, 04.09.2013, 15:58 | Сообщение № 5
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
почти универсально по расположению данных.

форму запускать Ctrl+Shift+S
выделяем диапазон для анализа - только цифры, можно выделить внутри таблицы
можно предварительно выделить необх. диапазон
жмем "Выполнить"

на форме присутствует контрол RefEdit - мутный "тип", вылетал Excel на раз, поэтому пробовать без других открытых книг
если будет у других падать, переделаю на более "деревянный" вариант

красоту не досуг делать
К сообщению приложен файл: ABC.xlsm (44.3 Kb)
 
Ответить
Сообщениепочти универсально по расположению данных.

форму запускать Ctrl+Shift+S
выделяем диапазон для анализа - только цифры, можно выделить внутри таблицы
можно предварительно выделить необх. диапазон
жмем "Выполнить"

на форме присутствует контрол RefEdit - мутный "тип", вылетал Excel на раз, поэтому пробовать без других открытых книг
если будет у других падать, переделаю на более "деревянный" вариант

красоту не досуг делать

Автор - Саня
Дата добавления - 04.09.2013 в 15:58
Rama Дата: Среда, 04.09.2013, 16:25 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 59
Репутация: 0 ±
Замечаний: 20% ±

2010
Цитата (Саня, Среда, 04.09.2013, 15:58 # 5)
почти универсально по расположению данных.


Хочу высказать мнение.
1. Зона ABC обозначается в массовой трактовке не (AB=50% и BC=80%), а A=20%, B=50% C=100% (или остальные%). В принципе это то же, но более правильный мой вариант и он описан везде. Даже % практически такой же. Это принцип Паретто, где 20% действий отвечают за 80% причин (как раз категория А).
2. Зона XYZ то же должна идти как X=10%, Y=25%, Z=100% (или остальные)
3. Форма с выбором диапазона - отлично, но вылет ошибки можно убрать, добавив On Error Resume Next
4. Столбик ABC&XYZ нужно все таки доделать и прописать функцию =СПЕПИТЬ()
5. Шапка таблицы оказывается внизу, а должна быть вверху. Не удобство однако.
6. Ну и красоту все таки бы навести.

P.S. Можно конечно все самому ручками сделать, но мы ведь за "готовое решение" бьемся...


Сообщение отредактировал Rama - Среда, 04.09.2013, 17:12
 
Ответить
Сообщение
Цитата (Саня, Среда, 04.09.2013, 15:58 # 5)
почти универсально по расположению данных.


Хочу высказать мнение.
1. Зона ABC обозначается в массовой трактовке не (AB=50% и BC=80%), а A=20%, B=50% C=100% (или остальные%). В принципе это то же, но более правильный мой вариант и он описан везде. Даже % практически такой же. Это принцип Паретто, где 20% действий отвечают за 80% причин (как раз категория А).
2. Зона XYZ то же должна идти как X=10%, Y=25%, Z=100% (или остальные)
3. Форма с выбором диапазона - отлично, но вылет ошибки можно убрать, добавив On Error Resume Next
4. Столбик ABC&XYZ нужно все таки доделать и прописать функцию =СПЕПИТЬ()
5. Шапка таблицы оказывается внизу, а должна быть вверху. Не удобство однако.
6. Ну и красоту все таки бы навести.

P.S. Можно конечно все самому ручками сделать, но мы ведь за "готовое решение" бьемся...

Автор - Rama
Дата добавления - 04.09.2013 в 16:25
Саня Дата: Среда, 04.09.2013, 17:43 | Сообщение № 7
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
1. я трактовал всегда так: категория А - 50%, В - след. 30% и С - последние 20%
если нужны по-умолчанию другие величины, зайдите в VBE и поменяйте значения текстовых полей.
Логика построения анализа не изменится.

2. если в АВС есть некая свобода выбора границ, то с XYZ все несколько строже: 33% - это 1/3, где 3 - это грубое значение критического уровня статистики Стьюдента,
и все это интерпретируется так: стационарность = значимость

3. какая ошибка вылетает? обработчик ошибок вряд ли спасет от падения всего приложения

6. одно дело готовый шаблон, другое ваши хотелки, завтра кто-нибудь скажет, что хочет, чтобы категория А была зеленым цветом, а В коричневым.

 
Ответить
Сообщение1. я трактовал всегда так: категория А - 50%, В - след. 30% и С - последние 20%
если нужны по-умолчанию другие величины, зайдите в VBE и поменяйте значения текстовых полей.
Логика построения анализа не изменится.

2. если в АВС есть некая свобода выбора границ, то с XYZ все несколько строже: 33% - это 1/3, где 3 - это грубое значение критического уровня статистики Стьюдента,
и все это интерпретируется так: стационарность = значимость

3. какая ошибка вылетает? обработчик ошибок вряд ли спасет от падения всего приложения

6. одно дело готовый шаблон, другое ваши хотелки, завтра кто-нибудь скажет, что хочет, чтобы категория А была зеленым цветом, а В коричневым.


Автор - Саня
Дата добавления - 04.09.2013 в 17:43
Rama Дата: Пятница, 06.09.2013, 17:50 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 59
Репутация: 0 ±
Замечаний: 20% ±

2010
Уважаемый Саня, прошу прощения за настойчивость, но очень хочется пользоваться Вашим последним решением, но нет такой возможности.
Дело в том, что я пытаюсь Ваше решение перенести себе в надстройку (сборник решений подобного рода) и запускать от туда, но мне выдает ошибки. То есть работать можно только с Вашим файлом, но переносить туда массив не удобно.
Есть ли подсказка ?

Ошибка на 4-ой строчке
--------------- доли (+) ------------------
[vba]
Код
bFirst = True
For Each cell In rngOut.Offset(, 1)
If bFirst Then
cell = cell.Offset(0, -1) / dALL 'Ошибка на этой строке
bFirst = False
Else
cell = cell.Offset(0, -1) / dALL + cell.Offset(-1, 0)
End If
cell = Round(cell, 3)
Next cell
[/vba]
[admin]Rama, оформляйте коды тегами, во избежание бана![/admin]
 
Ответить
СообщениеУважаемый Саня, прошу прощения за настойчивость, но очень хочется пользоваться Вашим последним решением, но нет такой возможности.
Дело в том, что я пытаюсь Ваше решение перенести себе в надстройку (сборник решений подобного рода) и запускать от туда, но мне выдает ошибки. То есть работать можно только с Вашим файлом, но переносить туда массив не удобно.
Есть ли подсказка ?

Ошибка на 4-ой строчке
--------------- доли (+) ------------------
[vba]
Код
bFirst = True
For Each cell In rngOut.Offset(, 1)
If bFirst Then
cell = cell.Offset(0, -1) / dALL 'Ошибка на этой строке
bFirst = False
Else
cell = cell.Offset(0, -1) / dALL + cell.Offset(-1, 0)
End If
cell = Round(cell, 3)
Next cell
[/vba]
[admin]Rama, оформляйте коды тегами, во избежание бана![/admin]

Автор - Rama
Дата добавления - 06.09.2013 в 17:50
Саня Дата: Суббота, 07.09.2013, 23:26 | Сообщение № 9
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
какая ошибка?

dALL чему равно?
когда возникнет ошибка, жми Debug, появится желтая полоса на строке с ошибкой, наведи указатель мыши на dALL.
 
Ответить
Сообщениекакая ошибка?

dALL чему равно?
когда возникнет ошибка, жми Debug, появится желтая полоса на строке с ошибкой, наведи указатель мыши на dALL.

Автор - Саня
Дата добавления - 07.09.2013 в 23:26
Rama Дата: Воскресенье, 08.09.2013, 09:38 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 59
Репутация: 0 ±
Замечаний: 20% ±

2010
Я скопировал все модули и форму в свою надстройку.
Запустил форму на Вашем массиве.
Появилась эта ошибка:

Я ее закомментировал и все далее заработало, но...если к Вашему массиву добавить несколько пустых столбцов в начале (то есть сдвинуть массив чуть правее), то получится наложение (столбик с декабрем уехал...)


Если ни чего ни куда не копировать, и работать только с Вашим файлом, то если сдвинуть массив, ошибка на dAll (пост 8) и dAll=0


Сообщение отредактировал Rama - Воскресенье, 08.09.2013, 09:44
 
Ответить
СообщениеЯ скопировал все модули и форму в свою надстройку.
Запустил форму на Вашем массиве.
Появилась эта ошибка:

Я ее закомментировал и все далее заработало, но...если к Вашему массиву добавить несколько пустых столбцов в начале (то есть сдвинуть массив чуть правее), то получится наложение (столбик с декабрем уехал...)


Если ни чего ни куда не копировать, и работать только с Вашим файлом, то если сдвинуть массив, ошибка на dAll (пост 8) и dAll=0

Автор - Rama
Дата добавления - 08.09.2013 в 09:38
Rama Дата: Вторник, 17.09.2013, 10:08 | Сообщение № 11
Группа: Пользователи
Ранг: Участник
Сообщений: 59
Репутация: 0 ±
Замечаний: 20% ±

2010
Саня, правка будет ? ...или все останется как есть и тема закрыта ?


Сообщение отредактировал Rama - Вторник, 17.09.2013, 10:09
 
Ответить
СообщениеСаня, правка будет ? ...или все останется как есть и тема закрыта ?

Автор - Rama
Дата добавления - 17.09.2013 в 10:08
Rama Дата: Вторник, 01.10.2013, 14:11 | Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 59
Репутация: 0 ±
Замечаний: 20% ±

2010
Кто подскажет, что нужно в макросе надстройки (сообщение 5) поменять, что бы данные анализа выводились не с столбцы начиная с "S" и далее, а с следующего после анализируемого диапазона. Ситуация в том, что если таблица с данными размещается далее столбца "S", то появляется ошибка и анализ не работает, т.к. происходит наложение таблицы на результат.
Прошу помочь, т.к. у меня массив более, чем в примере.
 
Ответить
СообщениеКто подскажет, что нужно в макросе надстройки (сообщение 5) поменять, что бы данные анализа выводились не с столбцы начиная с "S" и далее, а с следующего после анализируемого диапазона. Ситуация в том, что если таблица с данными размещается далее столбца "S", то появляется ошибка и анализ не работает, т.к. происходит наложение таблицы на результат.
Прошу помочь, т.к. у меня массив более, чем в примере.

Автор - Rama
Дата добавления - 01.10.2013 в 14:11
AndreTM Дата: Среда, 02.10.2013, 11:12 | Сообщение № 13
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
[vba]
Код
'Form F_ABC_XYZ
Private Sub cmdExecute_Click()
...
     ' ищем пустое место
     'Set rngOut = Cells(rngIn.Row, ActiveSheet.UsedRange.Columns.Count + 1).Resize(rngIn.Rows.Count)
     Set rngOut = Intersect(ActiveSheet.UsedRange.Columns.EntireColumn, rngIn.Rows.EntireRow)
     Set rngOut = rngOut.Offset(, rngOut.Columns.Count + 1).Resize(, 1)
[/vba]


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
Сообщение[vba]
Код
'Form F_ABC_XYZ
Private Sub cmdExecute_Click()
...
     ' ищем пустое место
     'Set rngOut = Cells(rngIn.Row, ActiveSheet.UsedRange.Columns.Count + 1).Resize(rngIn.Rows.Count)
     Set rngOut = Intersect(ActiveSheet.UsedRange.Columns.EntireColumn, rngIn.Rows.EntireRow)
     Set rngOut = rngOut.Offset(, rngOut.Columns.Count + 1).Resize(, 1)
[/vba]

Автор - AndreTM
Дата добавления - 02.10.2013 в 11:12
Rama Дата: Среда, 02.10.2013, 17:16 | Сообщение № 14
Группа: Пользователи
Ранг: Участник
Сообщений: 59
Репутация: 0 ±
Замечаний: 20% ±

2010
AndreTM, отлично. Мои Вам благодарности. Это действительно логичное дополнение.

Обращение ко всем: Есть еще одна идея, она имеет место быть из разряда обязательных. Есть ли возможность в самой форме сделать возможным использовать только ABC или только XYZ (c сортировкой естественно), т.к. часто использую только один из анализов. Конечно, можно использовать без изменений, но потом удалить лишнее не сложно, а вот перекрашивать шрифт и менять сортировку уже процесс достаточно долгий.
 
Ответить
СообщениеAndreTM, отлично. Мои Вам благодарности. Это действительно логичное дополнение.

Обращение ко всем: Есть еще одна идея, она имеет место быть из разряда обязательных. Есть ли возможность в самой форме сделать возможным использовать только ABC или только XYZ (c сортировкой естественно), т.к. часто использую только один из анализов. Конечно, можно использовать без изменений, но потом удалить лишнее не сложно, а вот перекрашивать шрифт и менять сортировку уже процесс достаточно долгий.

Автор - Rama
Дата добавления - 02.10.2013 в 17:16
RAN Дата: Среда, 02.10.2013, 19:26 | Сообщение № 15
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Обращение ко всем: Есть еще одна идея, она имеет место быть из разряда обязательных.

Не путайте "Готовые решения" с программмой для решения ваших задач. Хотя и та продается "как есть".
часто использую только один из анализов

А я, например, до недавнего времени и не слышал о существовании этих анализов. И что? <_<

Изучайте VBA, дорабатывайте.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Обращение ко всем: Есть еще одна идея, она имеет место быть из разряда обязательных.

Не путайте "Готовые решения" с программмой для решения ваших задач. Хотя и та продается "как есть".
часто использую только один из анализов

А я, например, до недавнего времени и не слышал о существовании этих анализов. И что? <_<

Изучайте VBA, дорабатывайте.

Автор - RAN
Дата добавления - 02.10.2013 в 19:26
Rama Дата: Среда, 02.10.2013, 20:31 | Сообщение № 16
Группа: Пользователи
Ранг: Участник
Сообщений: 59
Репутация: 0 ±
Замечаний: 20% ±

2010
RAN, я не хочу вступать в дискуссии на тему "что я прошу помочь" и "кто мне помогает". Это мое личное дело здесь на форуме, и дело тех, кто отзывается о помощи и помогает.
Готовое решение лежит в первых постах и его никто не удаляет, все остальное это процесс творчества, дискуссий и обсуждений.
Если этот форум для других целей, то нужно об этом писать, что он отличается от других тем-то и тем.

P.S. Будет не справедливо к автору, если я эту тему перенесу на другой форум. Кто от этого выиграет ?


Сообщение отредактировал Rama - Среда, 02.10.2013, 20:36
 
Ответить
СообщениеRAN, я не хочу вступать в дискуссии на тему "что я прошу помочь" и "кто мне помогает". Это мое личное дело здесь на форуме, и дело тех, кто отзывается о помощи и помогает.
Готовое решение лежит в первых постах и его никто не удаляет, все остальное это процесс творчества, дискуссий и обсуждений.
Если этот форум для других целей, то нужно об этом писать, что он отличается от других тем-то и тем.

P.S. Будет не справедливо к автору, если я эту тему перенесу на другой форум. Кто от этого выиграет ?

Автор - Rama
Дата добавления - 02.10.2013 в 20:31
RAN Дата: Среда, 02.10.2013, 20:48 | Сообщение № 17
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Кто от этого выиграет ?

Автор. Он выложил решение "Как есть".
Для обсуждения есть разделы "Вопросы по Excel" и "Вопросы по VBA".


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Среда, 02.10.2013, 20:51
 
Ответить
Сообщение
Кто от этого выиграет ?

Автор. Он выложил решение "Как есть".
Для обсуждения есть разделы "Вопросы по Excel" и "Вопросы по VBA".

Автор - RAN
Дата добавления - 02.10.2013 в 20:48
Rama Дата: Среда, 02.10.2013, 20:56 | Сообщение № 18
Группа: Пользователи
Ранг: Участник
Сообщений: 59
Репутация: 0 ±
Замечаний: 20% ±

2010
Не согласен с этим полностью, но буду "дублировать" тему в другой ветке, ок.
Мне кажется что не логично будет каждое модернизированное (улучшенное) решение заново публиковать в "готовых решениях", при том, что решений может быть много и все они рассчитаны на разные ситуации, но все они бесспорно будут иметь статус "готового решения".
 
Ответить
СообщениеНе согласен с этим полностью, но буду "дублировать" тему в другой ветке, ок.
Мне кажется что не логично будет каждое модернизированное (улучшенное) решение заново публиковать в "готовых решениях", при том, что решений может быть много и все они рассчитаны на разные ситуации, но все они бесспорно будут иметь статус "готового решения".

Автор - Rama
Дата добавления - 02.10.2013 в 20:56
AndreTM Дата: Воскресенье, 29.12.2013, 05:20 | Сообщение № 19
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеДоработка исходного решения

Автор - AndreTM
Дата добавления - 29.12.2013 в 05:20
Мир MS Excel » Вопросы и решения » Готовые решения » ABC&XYZ-анализ
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!