В таблице имеется столбец А с данными. Каждая цифра в этом столбце помечается 1 и 2 (при помощи цикла for..next) в соседнем столбце В. Таким образом, в моем случае получается 3 динамических массива: по цифре 1 массивы 10-20-30 и 60-70-80 по цифре 2 массив 40-50 В каждом из этих массивов мне нужно рассчитать среднее и записать рядом. в 1 массиве среднее 20, во 2 - 45, а 3 - 70.
Если данных в столбце несколько тысяч, то как сделать расчет средних при помощи VBA?
Видимо некорректно вопрос сформулировал... Рабочий файл вложил.
В моем случае, если применить формулу СРЗНАЧЕСЛИ() Мне нужно, чтобы среднее считалось в каждом из диапазонов ограниченных 1, то есть в моем случае - А1:А6, А10:А12 и А15:А16. Также рассчитал средние в этих диапазонах: 12,5; 20 и 24,5 соответственно.
В моей работе размеры диапазонов разные и их количество может быть несколько сотен или тысяч.
Sub iMean()
Dim Rng As Range
Dim iSumma As Double
For Each Rng In Range("B1:B" & Cells(Rows.Count, "A").End(xlUp).Row).SpecialCells(2, 1).Areas
Rng.Cells(1, 2) = WorksheetFunction.Average(Rng.Offset(, -1))
iSumma = iSumma + WorksheetFunction.Sum(Rng.Offset(, -1))
Next
Range("D3") = iSumma
End Sub