Vba: как рассчитать среднее значение диапазона
Вы можете использовать следующий базовый синтаксис для расчета среднего значения диапазона в Excel с помощью VBA:
SubAverageRange ()
Range(" E2 ") = WorksheetFunction.Average(Range(" B1:B12 "))
End Sub
В этом конкретном примере вычисляется среднее значение в диапазоне B2:B12 и присваивается результат ячейке E2 .
Если вместо этого вы хотите отобразить среднее значение в окне сообщения, вы можете использовать следующий синтаксис:
SubAverageRange ()
'Create variable to store average value
Dim avg As Single
'Calculate average value of range
avg = WorksheetFunction.Average(Range(" B1:B12 "))
'Display the result
MsgBox " Average Value in Range: " & avg
End Sub
В следующих примерах показано, как использовать каждый из этих методов на практике со следующим набором данных в Excel, содержащим информацию о различных баскетболистах:
Пример 1. Вычисление среднего значения диапазона с помощью VBA и отображение результатов в ячейке.
Предположим, мы хотим посчитать среднее значение в столбце точек и отобразить результаты в определенной ячейке.
Для этого мы можем создать следующий макрос:
SubAverageRange ()
Range(" E2 ") = WorksheetFunction.Average(Range(" B1:B12 "))
End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
Обратите внимание, что ячейка E2 содержит значение 21,27273 .
Это говорит нам о том, что среднее значение в столбце точек составляет 21,27273.
Пример 2. Вычисление среднего значения диапазона с помощью VBA и отображение результатов в окне сообщения.
Предположим, вместо этого мы хотим вычислить среднее значение в столбце точек и отобразить результаты в окне сообщения.
Для этого мы можем создать следующий макрос:
SubAverageRange ()
'Create variable to store average value
Dim avg As Single
'Calculate average value of range
avg = WorksheetFunction.Average(Range(" B1:B12 "))
'Display the result
MsgBox " Average Value in Range: " & avg
End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
В окне сообщения сообщается, что среднее значение в диапазоне B2:B12 равно 21,27273 .
Обратите внимание, что в этом примере мы вычислили среднее значение в диапазоне B2:B12 .
Однако если вместо этого вы хотите вычислить среднее значение по всему столбцу, вы можете вместо этого ввести B:B .
Это вычислит среднее значение для каждой ячейки в столбце B.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:
VBA: Как написать функции СРЗНАЧЕСЛИ и СРЗНАЧЕСЛИ
VBA: как писать функции СУММЕСЛИ и СУММЕСЛИ
VBA: как писать функции COUNTIF и COUNTIFS