Страницы: 1
RSS
вычисление среднего значения каждых n ячеек столбца, вычисление среднего значения каждых n ячеек столбца для большого количества данных
 
Здравствуйте, подскажите, пожалуйста есть ли какая-то формула для решения моей задачи.
Имеется столбец много тысяч строк с данными (числа), нужно чтобы брались n ячеек этого столбца по ним считалось среднее значение, затем брались следующие после этих ячеек n ячеек и опять считалось их среднее. В результате хотелось бы получить другой столбец с усредненными значениями каждых n ячеек исходного столбца.
Формула найденная в интернете и представленная на скрине не работает.
также прилагаю файл с примерным набором данных
Изменено: Павел Васютин - 12.11.2022 20:10:51
 
Больше всего на этом форуме не любят примеры не в excel а на картинке.
По вопросам из тем форума, личку не читаю.
 
Цитата
написал:
Больше всего на этом форуме не любят примеры не в excel а на картинке.
Картинка это скорее иллюстрация моего словесного изложения проблемы.
P.S. Исправился прикрепил файлик с примерным набором данных, но только в конкретно моем случае ячеек в столбце будет около 150к.
 
Ну, если русскоязычными формулами будет понятнее, то вот, формула массива (заканчивать ввод формул массива следует сочетанием Ctrl+Shift+Enter). Вбить в C2 и тянуть вниз:
Код
=СРЗНАЧ(СМЕЩ($A$2;(СТРОКА(C2)-СТРОКА($C$2))*5;;5;))
Выдаст средние значения для каждых пятерок элементов из столбца А.

З.Ы.
Для заявленных объемов данных, с учетом что это, наверняка, не последняя формула в файле будет, и учитывая, что СМЕЩ является так называемой "летучей функцией" и пересчитывается при любом изменении на листе, вероятны зависания при пересчете столь обильного количества формул, содержащих СМЕЩ.
Поэтому рекомендую присмотреться к решениям задачи через макросы.
Изменено: Пытливый - 12.11.2022 23:41:42
Кому решение нужно - тот пример и рисует.
 
=AVERAGE(INDEX(A:A;(ROW()-2)*$C$1+2):INDEX(A:A;(ROW()-2)*$C$1+1+$C$1))
По вопросам из тем форума, личку не читаю.
 
Спасибо, всем
 
Кнопочный вариант Power Query
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Added Index" = Table.AddIndexColumn(Source, "Index", 0, 1),
    #"Merged Queries" = Table.NestedJoin(#"Added Index",{"Index"},Table3,{"Column1"},"NewColumn",JoinKind.LeftOuter),
    #"Expanded NewColumn" = Table.ExpandTableColumn(#"Merged Queries", "NewColumn", {"Column1"}, {"NewColumn.Column1"}),
    #"Filled Up" = Table.FillUp(#"Expanded NewColumn",{"NewColumn.Column1"}),
    #"Filled Down" = Table.FillDown(#"Filled Up",{"NewColumn.Column1"}),
    #"Added Custom" = Table.AddColumn(#"Filled Down", "Custom", each [Index]/[NewColumn.Column1]),
    #"Inserted Round Down" = Table.AddColumn(#"Added Custom", "RoundDown", each Number.RoundDown([Custom]), Int64.Type),
    #"Removed Columns" = Table.RemoveColumns(#"Inserted Round Down",{"Index", "NewColumn.Column1", "Custom"}),
    #"Grouped Rows" = Table.Group(#"Removed Columns", {"RoundDown"}, {{"average", each List.Average([Column1]), type number}})
in
    #"Grouped Rows"
Изменено: jakim - 13.11.2022 15:50:05
Страницы: 1
Наверх