Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Иерархия объектов(класcов) в VBA Excel.
 
Максим Зеленский
То же самое. Вы нашли свойство  range которое является членом класса worksheets. А worksheets часть библиотеки классов Excel.
В моем примере можно так же сделать. Найти свойство count, оно будет явятся частью класса Chartobjects. Однако если я на листе1 создам любую диаграмму и потом захочу в Excel VBA в окне immediate посмотреть сколько диаграмм у меня на листе1 мне надо будет ввести
Код
? ActiveSheet.Chartobjects.count
или
Код
? worksheets(1).Chartobjects.count
но никак не
Код
? excel.Chartobjects.count
или даже просто
Код
? Chartobjects.count
Т.е. по иерархии объект(класс) Chartobjects  стоит ниже чем объект(класс) Worksheets. Вот где эту иерархию найти?

Вот еще один пример. Что бы обратится к ячейке другого листа и книги нужно прописать вот такую иерархию:      
- WorkBooks    
- -WorkSheets
- - -Cells

Т.е. класс WorkBooks стоит во главе иерархии, а класс WorkSheets является его частью. Класс Cells в самом низу иерархии.
Это то как я это ООП понимаю. Может дело в том, что я неправильно понимаю?
Иерархия объектов(класcов) в VBA Excel.
 
Jack
Там не указано. Там просто список объектов его свойств и методов, но нет инфы частью чего он является и что "ниже" него.
Иерархия объектов(класcов) в VBA Excel.
 
Здравствуйте.
Начал изучать vba excel и столкнулся вот с какой трудностью.
В общем-то в различных уроках определенные авторы предлагают сделать определенные примеры. Показывают какие строки нужно вводить и что они означают.  Рассказывают про ООП модель в VBA. Все вроде бы хорошо и понятно, но вдруг возникает вопрос, а как автор понимает, что один объект является частью другого, более "большого" объекта.
Вот пример строки

Код
ActiveSheet.Chartobjects.count

По логике вроде все понятно. Обращаемся к самому "большому" объекту (к нашему активному листу) потом объекту "поменьше" (к диаграммам) и потом к методу count объекта Chartobjects. Т.е. тут вроде понятно, что понятие "лист" больше чем понятие "диаграммы". А вот как мне понять что один объект является частью другого, если эти объекты мне не знакомы вообще? Где найти такую информацию? Т.е. где посмотреть иерархию классов?
Среднее при выбивающемся из ряда значении.
 
А как это сделать? Что-то вроде : если рассматриваемое значение больше чем сумма всех остальных значений в ряде, то это выброс и это значение не считать при подсчете среднего. Эта формулировка похожа на границу?
Среднее при выбивающемся из ряда значении.
 
Цитата
vikttur пишет: Вряд ли это правильно.
Согласен, но я не знаю как объяснить машине, что появился заказчик которому понадобилось 20 единиц товара и что это будет являться выбросом на фоне того, что товар по сути не продается. Или как объяснить, что большое число может являться выбросом из-за акций в этот месяц или может это сезонный месяц. У меня есть голые цифры и по ним необходимо составит минимальный сток.
Среднее при выбивающемся из ряда значении.
 
Вариант Владимир-а рабочий. Я убрал количество крайних значений до 1 с каждой стороны


Код
=СРЗНАЧ(ЕСЛИ(ЕНД(ПОИСКПОЗ(D2:S2;НАИБОЛЬШИЙ(D2:S2;{1});))*ЕНД(ПОИСКПОЗ(D2:S2;НАИМЕНЬШИЙ(D2:S2;{1});));D2:S2))
 


Возник вопрос, почему если в
(D2:S2; { 1 } ) ; ) убрать то, что выделено красным то формула перестает работать?
Среднее при выбивающемся из ряда значении.
 
Юрий М Минимальный сток. Как минимум один должен присутствовать на складе. Раз в 2 года может прибежать клиент и в ноги кланяться только потому, что весь инет перерыл и только у нас нашел.
Среднее при выбивающемся из ряда значении.
 
"0" означает что либо товара не было в наличии что бы его продавать, либо это редкий товар и он не продается.
Выброс считается в том случае если значение явно отличается от имеющихся в ряде Пример 1: 0 0 0 0 19 0 0 0 1 0 --> 19 это выброс. Пример 2:  5 7 7 10 7 7 15 21 45 10 15 --> 45 это тоже выброс, хоть и не такой критичный как в первом примере.
Большой выброс вниз, думаю, можно не считать, т.к товар мог поступать в ограниченном количестве или отсутствовать на складе.
Среднее при выбивающемся из ряда значении.
 
Нет, не правильно. Я вообще не то сделал. По сути я ее сделал вот такую
Код
=ОКРУГЛВВЕРХ(СРЗНАЧ(D2:S2;);0)

Только через попу
Среднее при выбивающемся из ряда значении.
 
В общем я изменил формулу Владимир-а на вот эту
Код
=ОКРУГЛВВЕРХ(СРЗНАЧ(ЕСЛИ(ЕНД(ПОИСКПОЗ(D2:S2;НАИБОЛЬШИЙ(D2:S2;1);0));D2:S2));0)
По цифрам все выглядит более мене как надо
Проблема в том что не очень понимаю принцип ее работы(. А значит повторить не смогу((.

vikttur Спасибо, но, к сожалению, не подходит. К примеру если взять строку 9 (id8, Товар 8 ) , то с Вашим вариантом значение получается маленьким. Просто если даже из этого ряда убрать нули и "22" то среднее будет 4.
Изменено: Aigeus - 18.06.2014 22:46:43
Среднее при выбивающемся из ряда значении.
 
vikttur Я думал об этих функциях. Но мода подходит только к конкретным строкам. А медиана в некоторых случаях дает большую погрешность от реальных результатов продаж.
Плюс не совсем понял вот это :
Цитата
vikttur пишет: Среднее значение рада +-20%
=МЕДИАНА(D2:S2)*1,2
То, если я правильно понимаю для одной строки будет 20% для другой это уже может быть 40%
Среднее при выбивающемся из ряда значении.
 
Владимир Большое спасибо. Общая идея понятна. И даже формулу разбил и посмотрел как все отдельно работает, но вот осознать откуда ноги растут не получается. Для меня тут подойдет выражение "учить матчасть" был бы признателен если бы указали на какие разделы теории обратить внимания для лучшего понимания.
Среднее при выбивающемся из ряда значении.
 
Ivan.kh Спасибо.
В принципе подходит, но разбираюсь с 123 строчкой.  
Среднее при выбивающемся из ряда значении.
 
amfor Спасибо, но только для тех случаев если мы считаем, что товар всегда был в наличии и "0" означает, что его просто не покупали. А если товар завезли 3 месяца назад? Или если бы у меня данных было всего месяцев за 5? Тогда не подойдет.

По сути надо провести подсчет среднего без учета "0" и так что бы явно выбивающееся значение в подсчете не участвовало.  
Среднее при выбивающемся из ряда значении.
 
justirus Спасибо.
Так и есть, для небольших выбросов помогает, но если выброс большой, то среднее значение явно завышено.
Изменено: Aigeus - 18.06.2014 21:34:38
Среднее при выбивающемся из ряда значении.
 
В общем строки это наименование конкретного товара. Столбцы месяц продаж. Значение в ячейках на пересечении конкретной строки и конкретного столбца это есть количество проданного товара в данный месяц.

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

Моя логика следующая. Посчитать среднее по количеству продаж в месяц для каждой позиции. Получившееся значение будет минимальным количеством товара которое должно находится или завозится на склад.
Среднее при выбивающемся из ряда значении.
 
Желтым выделил выбивающиеся значения
Мне эти цифры нужны для минимального стока на склад.
Среднее при выбивающемся из ряда значении.
 
Здравствуйте.
Помогите пожалуйста посчитать среднее если одно значение выбивается из ряда.
Товар продается несколько  штук в месяц. Затем в один заказ  покупают 50 штук. Естественно это отражается на среднем значении.
К примеру вот такой ряд
0 1 2 1 3 2 4 1 0 1 57 9 0 0 5 2 6 4 7 0 (каждая цифра означает количество конкретного товара в месяц )
Изменено: Aigeus - 18.06.2014 16:40:59
Страницы: 1
Наверх