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

Вход

Регистрация

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

 

= Мир MS Excel/Ср арифм данных в массиме с определенным шагом - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Ср арифм данных в массиме с определенным шагом (Макросы/Sub)
Ср арифм данных в массиме с определенным шагом
leskris Дата: Суббота, 25.10.2014, 11:33 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 90
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016 (Office 365)
Помогите пожалуйста создать макрос который будет считать среднее арифметическое в заданных ячейках.
Приэтом диапазон не сплошной,

Удалено. Нарушение Правил форума - скрин
Тоесть макрос должен считать среднюю урожайность по всем клиентам по каждой культуре.
К сообщению приложен файл: stats_eng_ru_ch.xlsm (33.3 Kb)


Сообщение отредактировал leskris - Суббота, 25.10.2014, 16:26
 
Ответить
СообщениеПомогите пожалуйста создать макрос который будет считать среднее арифметическое в заданных ячейках.
Приэтом диапазон не сплошной,

Удалено. Нарушение Правил форума - скрин
Тоесть макрос должен считать среднюю урожайность по всем клиентам по каждой культуре.

Автор - leskris
Дата добавления - 25.10.2014 в 11:33
ShAM Дата: Суббота, 25.10.2014, 12:14 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
Читайте Правила:
Цитата
- Запрещается выкладывать ссылки на файлы, выложенные на сторонних ресурсах
 
Ответить
СообщениеЧитайте Правила:
Цитата
- Запрещается выкладывать ссылки на файлы, выложенные на сторонних ресурсах

Автор - ShAM
Дата добавления - 25.10.2014 в 12:14
leskris Дата: Суббота, 25.10.2014, 12:19 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 90
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016 (Office 365)
Это не сылка на файл, это скриншот!!
[moder]Так это не смягчающее, а отягчающее обстоятельство[/moder]
 
Ответить
СообщениеЭто не сылка на файл, это скриншот!!
[moder]Так это не смягчающее, а отягчающее обстоятельство[/moder]

Автор - leskris
Дата добавления - 25.10.2014 в 12:19
krosav4ig Дата: Суббота, 25.10.2014, 14:49 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
leskris, xls файл в студию deal , или тему вообще закроют


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеleskris, xls файл в студию deal , или тему вообще закроют

Автор - krosav4ig
Дата добавления - 25.10.2014 в 14:49
leskris Дата: Суббота, 25.10.2014, 16:28 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 90
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016 (Office 365)
обновил тему, добавил файл.. я вба если че не шарю, так только пытаюсь разобраться, чтобы упростить себе жизнь..
 
Ответить
Сообщениеобновил тему, добавил файл.. я вба если че не шарю, так только пытаюсь разобраться, чтобы упростить себе жизнь..

Автор - leskris
Дата добавления - 25.10.2014 в 16:28
krosav4ig Дата: Суббота, 25.10.2014, 20:46 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
а обязательно это делать макросом?


upd.
заменил файл
К сообщению приложен файл: 3173210.xlsm (33.7 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Суббота, 25.10.2014, 21:17
 
Ответить
Сообщениеа обязательно это делать макросом?


upd.
заменил файл

Автор - krosav4ig
Дата добавления - 25.10.2014 в 20:46
leskris Дата: Воскресенье, 26.10.2014, 03:04 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 90
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016 (Office 365)
Спасибо огромное, я просто думал, что это возможно только через цикл сделать и масив. Попытаюсь разобраться в вашей формуле. Если не сильно нагло с моей стороны, можете вкратце объяснить алгоритм?
 
Ответить
СообщениеСпасибо огромное, я просто думал, что это возможно только через цикл сделать и масив. Попытаюсь разобраться в вашей формуле. Если не сильно нагло с моей стороны, можете вкратце объяснить алгоритм?

Автор - leskris
Дата добавления - 26.10.2014 в 03:04
krosav4ig Дата: Воскресенье, 26.10.2014, 03:39 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
ну дык это и есть формула массива, вводится комбинацией Ctrl+Shift+Enter
Код
=СУММ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;СМЕЩ(J5;;8*(СТРОКА(ДВССЫЛ("$1:$"&СЧЁТЗ($2:$2)))-1))))/МАКС(1;СУММ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3;СМЕЩ(J5;;8*(СТРОКА(ДВССЫЛ("$1:$"&СЧЁТЗ($2:$2)))-1)))))

Код
СЧЁТЗ($2:$2)
-количество непустых значений во 2 строке (количество клиентов +1)
Код
(СТРОКА(ДВССЫЛ("$1:$"&СЧЁТЗ($2:$2)))-1)
-возвращает массив {0:1:2:3}, его же умножаем на 8 (шаг сдвига вправо) и получаем массив {0:8:16:24} (на столько ячеек вправо от J5 нужно сдвигаться, чтобы получать значения из необходимых столбцов всех клиентов)
Код
СМЕЩ(J5;;8*(СТРОКА(ДВССЫЛ("$1:$"&СЧЁТЗ($2:$2)))-1))
возвращает массив значений из необходимых столбцов
Код
СУММ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;СМЕЩ(J5;;8*(СТРОКА(ДВССЫЛ("$1:$"&СЧЁТЗ($2:$2)))-1)))
считает сумму выбранных значений
Код
СУММ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3;СМЕЩ(J5;;8*(СТРОКА(ДВССЫЛ("$1:$"&СЧЁТЗ($2:$2)))-1)))
считает количество ненулевых значений из выбранных
формула
Код
МАКС(1;значение)
нужна чтобы избежать деления на 0
вы можете посмотреть как вычисляются отдельные фрагменты формулы, для этого нужно в строке формул выделить нужный фрагмент и нажать F9
Ну вот вроде и все


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Воскресенье, 26.10.2014, 03:43
 
Ответить
Сообщениену дык это и есть формула массива, вводится комбинацией Ctrl+Shift+Enter
Код
=СУММ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;СМЕЩ(J5;;8*(СТРОКА(ДВССЫЛ("$1:$"&СЧЁТЗ($2:$2)))-1))))/МАКС(1;СУММ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3;СМЕЩ(J5;;8*(СТРОКА(ДВССЫЛ("$1:$"&СЧЁТЗ($2:$2)))-1)))))

Код
СЧЁТЗ($2:$2)
-количество непустых значений во 2 строке (количество клиентов +1)
Код
(СТРОКА(ДВССЫЛ("$1:$"&СЧЁТЗ($2:$2)))-1)
-возвращает массив {0:1:2:3}, его же умножаем на 8 (шаг сдвига вправо) и получаем массив {0:8:16:24} (на столько ячеек вправо от J5 нужно сдвигаться, чтобы получать значения из необходимых столбцов всех клиентов)
Код
СМЕЩ(J5;;8*(СТРОКА(ДВССЫЛ("$1:$"&СЧЁТЗ($2:$2)))-1))
возвращает массив значений из необходимых столбцов
Код
СУММ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;СМЕЩ(J5;;8*(СТРОКА(ДВССЫЛ("$1:$"&СЧЁТЗ($2:$2)))-1)))
считает сумму выбранных значений
Код
СУММ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3;СМЕЩ(J5;;8*(СТРОКА(ДВССЫЛ("$1:$"&СЧЁТЗ($2:$2)))-1)))
считает количество ненулевых значений из выбранных
формула
Код
МАКС(1;значение)
нужна чтобы избежать деления на 0
вы можете посмотреть как вычисляются отдельные фрагменты формулы, для этого нужно в строке формул выделить нужный фрагмент и нажать F9
Ну вот вроде и все

Автор - krosav4ig
Дата добавления - 26.10.2014 в 03:39
leskris Дата: Воскресенье, 26.10.2014, 03:46 | Сообщение № 9
Группа: Пользователи
Ранг: Участник
Сообщений: 90
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016 (Office 365)
спасибо за подробное объяснение попробую теперь сделать тоже самое для плана
 
Ответить
Сообщениеспасибо за подробное объяснение попробую теперь сделать тоже самое для плана

Автор - leskris
Дата добавления - 26.10.2014 в 03:46
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Ср арифм данных в массиме с определенным шагом (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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