У меня есть набор данных - 5000 дат с 1995 года и цена товара на каждую дату. Я хочу рассчитать среднегодовое значение для них. Я в основном хочу сказать Excel, чтобы усреднить все ячейки за год xxxx, усреднить все ячейки с годом xxxy и т.д. Я играл с if(, left(, medium (, в новой таблице со всеми годы, за которые я хочу найти средние значения. Я не эксперт в Excel. Вот как выглядит набор данных сейчас. Я хотел бы знать, как это сделать, так как мне нужно делать такие вещи постоянно.
2 ответа
Используйте «3D-формулу» ...
=SUM(IF(YEAR(A:A)=$D$1,B:B,0))/SUM(IF(YEAR(A:A)=$D$1,1,0))
Введите его, а затем удерживайте клавиши CTRL и SHIFT при нажатии клавиши ВВОД (работает как в Excel, так и в LibreOffice Calc)
Формула получает {...}
фигурные скобки на концах, если вы делаете это правильно.
Теперь введите средний год в D1
Как:A:A
и B:B
принимают значения во всем столбце, переходите на более ограниченный диапазон, если это то, что у вас есть.
Поскольку это диапазоны ячеек, требуется сочетание клавиш CTRL+SHIFT ENTER , чтобы цикл формулы проходил по всем ячейкам в диапазоне.
Так как значение года в D1 должно использоваться для всех сравнений, ему нужны $
.
Первый IF(...)
выбирает соответствующие строки и возвращает соответствующие значения в столбце B, которые затем передаются в SUM()
.
Аналогично, второй IF(...)
снова выбирает те же строки, но возвращает 1
для каждой, составляя СЧЕТ рядов, так как SUM(...)
выполнил свою работу.
Это довольно просто с функцией AVEAGEIFS
развернутой следующим образом:
Перечислите все свои годы в D2, а затем в E2 используйте эту формулу
=AVERAGEIFS(B:B,A:A,">="&DATE(D2,1,1),A:A,"<"&DATE(D2+1,1,1))
скопировать формулу за все годы