Здравствуйте!
Есть такая задача: Мне нужно посчитать среднее по всему диапазону. Ячейки начала и конца диапазона являются аргументами пользовательской функции СРЕДНЕЕ
Я ввожу следующий код
Public Function СРЕДНЕЕ(f, g)
With Application.WorksheetFunction
СРЕДНЕЕ = .Average(f, g)
End With
End Function
Из приведенного файла "Пример1" f - это ячейка А1, а g - ячейка А9
Моя функция СРЕДНЕЕ работает как среднее между первым и последним элементом, а не среднее всего диапазона...
А если я в строчке СРЕДНЕЕ между аргументами пишу двоеточие, вылезает ошибка "Expected list separator or )"
Вопрос, как при помощи макроса посчитать среднее по всему диапазону?
Вариант 1
Передача в функцию "Average" VBA-массива:
Public Function СРЕДНЕЕ(f As Excel.Range)
With Application.WorksheetFunction
СРЕДНЕЕ = .Average(f.Value)
End With
End Function
Вариант 2
Передача в функцию "Average" диапазона ячеек:
Public Function СРЕДНЕЕ(f As Excel.Range)
With Application.WorksheetFunction
СРЕДНЕЕ = .Average(f)
End With
End Function