Расчет среднего арифметического

We use cookies. Read the Privacy and Cookie Policy

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

Как известно, расчет среднего значения можно выполнять штатными средствами Excel – с помощью функции СРЗНАЧ. Однако в некоторых случаях удобнее воспользоваться макросом, код которого представлен в листинге 3.100 (этот код нужно набрать в стандартном модуле редактора VBA).

Листинг 3.100. Расчет среднего значения

Sub CalculateAverage()

Dim strFistCell As String

Dim strLastCell As String

Dim strFormula As String

' Условия закрытия процедуры

If ActiveCell.Row = 1 Then Exit Sub

' Определение положения первой и последней ячеек для расчета

strFistCell = ActiveCell.Offset(-1, 0).End(xlUp).Address

strLastCell = ActiveCell.Offset(-1, 0).Address

' Формула для расчета среднего значения

strFormula = "=AVERAGE(" & strFistCell & ":" & strLastCell &

")"

' Ввод формулы в текущую ячейку

ActiveCell.Formula = strFormula

End Sub

В результате выполнения данного макроса в активной ячейке отобразится среднее арифметическое, рассчитанное на основании расположенных выше непустых ячеек; при этом ячейки с данными должны следовать одна за другой, без пробелов. Иначе говоря, если активна ячейка А5, а над ней все ячейки содержат данные, кроме ячейки А2, то среднее арифметическое будет рассчитано на основании данных ячеек A3 и А4 (ячейка А1 в расчете участвовать не будет). Если же пустой является только ячейка А4, то среднее арифметическое в ячейке А5 рассчитано не будет.