Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2010, 21:08   #1
frozzy_16
Пользователь
 
Регистрация: 10.03.2010
Сообщений: 27
По умолчанию СРЗНАЧ

Подскажите как высчитать среднее значение исключая нулевые значения.
frozzy_16 вне форума Ответить с цитированием
Старый 22.03.2010, 23:26   #2
Fierce
Пользователь
 
Регистрация: 11.04.2009
Сообщений: 29
По умолчанию

Вот простой пример, считает среднее значение в первых 10 строках столбца А
Код:
Dim i As Integer, k As Integer, s As Double

For i = 1 To 10
    If Cells(i, 1) <> 0 Then
        s = s + Cells(i, 1)
        k = k + 1
    End If
Next i
s = s / k
Fierce вне форума Ответить с цитированием
Старый 23.03.2010, 00:12   #3
frozzy_16
Пользователь
 
Регистрация: 10.03.2010
Сообщений: 27
По умолчанию

А формулой можно?? Я в VBA не силен.
frozzy_16 вне форума Ответить с цитированием
Старый 23.03.2010, 05:06   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Для Excel 2003 и 2007:
Код:
s = Application.Sum([A1:A10]) / Application.CountIf([A1:A10], "<>0")
Только для Excel 2007:
Код:
s = Application.AverageIf([A1:A10], "<>0")
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 23.03.2010, 06:27   #5
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Для любого Excel:
Код:
=СУММ(A1:A10)/СЧЁТЕСЛИ(A1:A10;"<>0")
Только для 2007:
Код:
=СРЗНАЧЕСЛИ(A1:A10;"<>0")
P.S. Нужно сразу говорить, какими средствами решать задачу (см. правила раздела)/
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 23.03.2010, 10:48   #6
novak_26
Пользователь
 
Аватар для novak_26
 
Регистрация: 23.02.2010
Сообщений: 39
По умолчанию

используйте функцию excel "СРЗНАЧЕСЛИ"
см. пример
Вложения
Тип файла: zip пример_СРЗНАЧЕСЛИ.zip (3.7 Кб, 21 просмотров)
novak_26 вне форума Ответить с цитированием
Старый 23.03.2010, 13:43   #7
frozzy_16
Пользователь
 
Регистрация: 10.03.2010
Сообщений: 27
По умолчанию

всем спасибо. Разобрался.

novak_26 в твоем файле в ячейке с формулой Пишет ИМЯ...
frozzy_16 вне форума Ответить с цитированием
Старый 23.03.2010, 14:45   #8
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,448
По умолчанию

Цитата:
Сообщение от frozzy_16 Посмотреть сообщение
всем спасибо. Разобрался.

novak_26 в твоем файле в ячейке с формулой Пишет ИМЯ...
У Вас эксель 2003.
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума Ответить с цитированием
Старый 23.03.2010, 14:52   #9
frozzy_16
Пользователь
 
Регистрация: 10.03.2010
Сообщений: 27
По умолчанию

Похоже что да....
А 2007 лучше чем 2003... Для меня там неудобная рабочая область..там закладки и все такое...

Последний раз редактировалось frozzy_16; 23.03.2010 в 14:56.
frozzy_16 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц