powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Среднее значение диапазона ячеек не равных нулю
15 сообщений из 15, страница 1 из 1
Среднее значение диапазона ячеек не равных нулю
    #36539365
ffflake
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите плиз, в макросе записать подсчет среднего значения

пример:
2 5 6 0 0 0 0 0 0

нужно найти среднее ячеек, не равных нулю
т.е. формула следующая =СРЗНАЧЕСЛИ(D37:O37;"<>0"), но как ее записать в макросе
...
Рейтинг: 0 / 0
Среднее значение диапазона ячеек не равных нулю
    #36539383
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ffflake,
так годится? :)
Код: plaintext
1.
Cells( 1 ,  1 ).FormulaLocal = "=СРЗНАЧЕСЛИ(D37:O37;""<>0"")"
...
Рейтинг: 0 / 0
Среднее значение диапазона ячеек не равных нулю
    #36539433
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я Вашу функцию проверить не могу (нет у меня такой),
но на примере:
Код: plaintext
1.
2.
3.
4.
Sub ttt()
Set rn = Range("A1:J1")
x = Application.WorksheetFunction.Average(rn)
End Sub
...
Рейтинг: 0 / 0
Среднее значение диапазона ячеек не равных нулю
    #36539569
ffflake
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hugo121ffflake,
так годится? :)
Код: plaintext
1.
Cells( 1 ,  1 ).FormulaLocal = "=СРЗНАЧЕСЛИ(D37:O37;""<>0"")"


спасибо подходит, а может еще поскажите как в цикле, а то я че-то не могу сообразить
For i = 6 To 130
For a = 16 To 16
If Cells(i, 2).Text = 216 Then Cells(i, a).FormulaLocal = "=СРЗНАЧЕСЛИ(D37:О37;""<>0"")"
Next a
Next i
а именно вот здесь проблема:
"=СРЗНАЧЕСЛИ(?:?;""<>0"")"
...
Рейтинг: 0 / 0
Среднее значение диапазона ячеек не равных нулю
    #36539711
ffflake
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а может есть совсем другое решение? подскажите пожалуйста!!!!!!!!!!!
...
Рейтинг: 0 / 0
Среднее значение диапазона ячеек не равных нулю
    #36539764
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ffflakeа может есть совсем другое решение? подскажите пожалуйста!!!!!!!!!!!На первоначальный вопрос вам уже ответили.
А чтобы ответили по поводу цикла напишите подробнее, что именно нужно.
...
Рейтинг: 0 / 0
Среднее значение диапазона ячеек не равных нулю
    #36539839
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно так, х и у сами поменяете в цикле или как там надо:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Sub tt()
x =  37 
y =  37 

For i =  6  To  130 
For a =  16  To  16 
If Cells(i,  2 ).Text =  216  Then Cells(i, a).FormulaLocal = "=СРЗНАЧЕСЛИ(D" & x & ":О" & y & ";""<>0"")"
Next a
Next i

End Sub

Можно иначе, через RC без букв можно обойтись, а ещё есть Cells(x, y)... которые можно суммировать и делить.
...
Рейтинг: 0 / 0
Среднее значение диапазона ячеек не равных нулю
    #36539853
ffflake
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Djon Player,
Есть определенное число строк, нужно пройти по каждой и если значение второго столбца равно определенному значению, то нужно посчитать среднее значение ячеек не равных нулю i-ой строки.

Есть:
For i = 6 To 130 \строки
For a = 16 To 16 \столбцы
If Cells(i, 2).Text = 216 Then здесь нужно прописать подсчет среднего значения определенного диапазона i-ой строки (например (D37:O37)) и записать в 16 столбец i-ой строки
Next a
Next i

Вы уж простите, если я может что-то неточно изъясняю
...
Рейтинг: 0 / 0
Среднее значение диапазона ячеек не равных нулю
    #36539868
Dophin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
Cells(i,  16 ) = WorksheetFunction.AverageIf(Range(Cells(i,  4 ), Cells(i,  15 )), "<>0")
...
Рейтинг: 0 / 0
Среднее значение диапазона ячеек не равных нулю
    #36539881
ffflake
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hugo121Можно так, х и у сами поменяете в цикле или как там надо:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Sub tt()
x =  37 
y =  37 

For i =  6  To  130 
For a =  16  To  16 
If Cells(i,  2 ).Text =  216  Then Cells(i, a).FormulaLocal = "=СРЗНАЧЕСЛИ(D" & x & ":О" & y & ";""<>0"")"
Next a
Next i

End Sub

Можно иначе, через RC без букв можно обойтись, а ещё есть Cells(x, y)... которые можно суммировать и делить.

Этот вариант подошел, спасибо огромнейшее, огромнейшее, огромнейшее!..
...
Рейтинг: 0 / 0
Среднее значение диапазона ячеек не равных нулю
    #36539973
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ffflake,
а ведь так лучше, не заметили?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Sub tt()

For i =  6  To  130 
Set rn = Range(Cells(i,  4 ), Cells(i,  15 ))
If Cells(i,  2 ).Text =  216  Then Cells(i,  16 ) = WorksheetFunction.AverageIf(Range(Cells(i,  4 ), Cells(i,  15 )), "<>0")
Next i

End Sub
...
Рейтинг: 0 / 0
Среднее значение диапазона ячеек не равных нулю
    #36539980
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Set rn = Range(Cells(i, 4), Cells(i, 15)) лишнее, извиняюсь, от тестов осталось...
...
Рейтинг: 0 / 0
Среднее значение диапазона ячеек не равных нулю
    #36540019
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ffflake,

Мне почему-то кажется, что правильнее так:

Код: plaintext
1.
2.
3.
4.
5.
6.
Sub test()
 Dim i As Integer
 
 For i =  1  To  130 
  If Cells(i,  2 ).Text =  216  Then Cells(i,  16 ).FormulaLocal = "=СРЗНАЧЕСЛИ(D" & i & ":О" & i & ";""<>0"")"
 Next i
End Sub
Единственный у меня вопрос к числу 216, во всех строках именно такое число должно быть, там где нужна формула, или может могут быть другие вариации.
...
Рейтинг: 0 / 0
Среднее значение диапазона ячеек не равных нулю
    #36540228
ffflake
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Djon Player
Единственный у меня вопрос к числу 216, во всех строках именно такое число должно быть, там где нужна формула, или может могут быть другие вариации.

Могут быть и другие, но с этим я справилась через or
...
Рейтинг: 0 / 0
Среднее значение диапазона ячеек не равных нулю
    #36540249
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заметил опечатку у себя в коде
Код: plaintext
For i =  1  To  130 
вместо 1 надо написать 6.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Среднее значение диапазона ячеек не равных нулю
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]