У меня есть набор данных об осадках, подобный приведенному ниже,
StationIndex Station Year Month Day Rainfall
1 Dhaka 1970 1 1 1
1 Dhaka 1970 1 2 1
2 Mumbai 1970 1 1 1
2 Mumbai 1970 1 2 1
3 London 1970 1 1 1
3 London 1970 1 2 1
4 NY 1970 1 1 1
4 NY 1970 1 2 1
Я хочу просуммировать значения в столбце осадков по дню, месяцу, году и станции (или индексу станции). По сути, вычислить общее количество месячных осадков для каждого месяца каждой станции на протяжении всех лет и поместить это в другой столбец. Таким образом, вывод будет таким:
StationIndex Station Year Month Day Rainfall Total-Rainfall
1 Dhaka 1970 1 1 1 2
1 Dhaka 1970 1 2 1 2
2 Mumbai 1970 1 1 1 2
2 Mumbai 1970 1 2 1 2
3 London 1970 1 1 1 2
3 London 1970 1 2 1 2
4 NY 1970 1 1 1 2
4 NY 1970 1 2 1 2
решение1
Я использовалСтолс structured references
, но вы можете изменить это на обычную адресацию, если предпочитаете:
(например: [Station] относится ко всему столбцу данных в таблице $B$2:$B$9; [@Station] относится к записи в этом столбце на той же строке, что и формула)
=SUMIFS([Rainfall],[Station],[@Station],[Year],[@Year],[Month],[@Month])
Примечание:Вы можете добавить StationIndex
в качестве критерия или заменить Station
на , StationIndex
если необходимо, чтобы правильно разделить данные.
решение2
Если вы используете формулу =sum(F2:F3) [например], вы можете выбрать блок из двух дней в каждом месяце или расширить его до нескольких дней, но неясно, почему вы хотите, чтобы итог отображался для каждой строки, а не один раз для каждого месяца. Если это необходимо, вы можете использовать тривиальную формулу, например =G1, для промежуточных строк.
Немного сложнее было бы вывести общую формулу для каждого месяца, где количество строк меняется, это может потребовать некоторого кодирования.