Средняя дневная и ночная температура в Excel

У меня есть большой набор данных о температуре и влажности, которые собираются каждые полчаса в течение года. Я бы хотел получить среднюю дневную и ночную температуру, но мои эксперименты со средними значениями пока не увенчались успехом. Это насколько я понял.

=AVERAGEIFS(Sheet1!D$7:D$17622,Sheet1!$C$7:$C$17622, ">="&$A21, Sheet1!$C$7:$C$17622,"<" &$A22)

Значения в A21 и A22: 6:00 и 18:00, отформатированные как ч: мм.

Это просто возвращает DIV/0! ошибка - у меня нет нулей, поэтому я не знаю, в чем проблема.

У меня точно такая же формула, работающая с датами. Обе формулы опираются на один и тот же вход, введенный в каждую ячейку следующим образом:

1/02/2016  3:00:00 PM

Я был бы очень признателен за любую помощь (или, если это неправильный форум, дайте мне знать).

2 ответа

Решение

Ваши проблемы - размер диапазонов, которые вы указываете.

Из документации:

Синтаксис:

AVERAGEIFS(average_range, criteria_range1, criteria1, [criteria_range2, criteria2],...)

AVERAGEIFS Синтаксис функции имеет следующие аргументы:

Average_range Требуется Одна или несколько ячеек для усреднения, включая числа или имена, массивы или ссылки, содержащие числа.

Criteria_range1, criteria_range2, … Criteria_range1 является обязательным, последующие crit__ranges являются необязательными. От 1 до 127 диапазонов, в которых оцениваются соответствующие критерии.

Criteria1, criteria2, … Критерии1 обязательны, последующие критерии необязательны. От 1 до 127 критериев в виде числа, выражения, ссылки на ячейку или текста, которые определяют, какие ячейки будут усреднены. Например, критерии могут быть выражены как 32, "32", ">32", " apples", или же B4,

В отличие от аргументов диапазона и критериев в AVERAGEIF функция, в AVERAGEIFS каждый критерий_рассылки должен быть того же размера и формы, что и сумма_диапазона.

Итак, с AVERAGEIFS, SUMIFS, COUNTIFS, если диапазон для вычисления (первый параметр), например, A1: A10, тогда все указанные вами критерии также должны охватывать 10 ячеек.


Вы можете неправильно использовать AVERAGEIFS вместо AVERAGEIF,

  • Если у вас есть одна строка критериев и вы хотите усреднить одну или несколько строк данных, используйте AVERAGEIF,

  • Если у вас есть несколько критериев (т. Е. До и после этого времени) и вы хотите усреднить одну строку данных, используйте AVERAGEIFS,

Я не верю, что вы можете использовать любой из нескольких критериев + несколько строк данных. Если это то, что вы пытаетесь сделать, вам может понадобиться SUMIFS а также COUNTIFS для каждой строки, а затем рассчитать среднее из тех.


Например:

  • Если вы хотите среднюю дневную температуру (с 06:00 до 18:00)

  • времена хранятся в A1:X1 лайк 00:00 в 23:00 (* и к ним не привязаны даты, даже если они не "видны")

  • температуры хранятся в столбцах A:X (один день в ряду)

  • и вы хотите рассчитать среднюю дневную температуру за один день, которая хранится в строке 2,

... тогда вы можете использовать:

=AVERAGEIFS(A2:X2,A1:X1,">="&6/24,A1:X1,"<&18/24)

Обратите внимание, что при подсчете итогов на основе даты / времени начала / окончания обычно лучше использовать:

  • >= Дата / время начала, и,

  • < Дата / время окончания

... для предотвращения совпадений.

Кроме того, при переходе к более сложным формулам, подобным этому, обязательно вручную рассчитайте несколько строк, чтобы сравнить и убедиться, что вы правильно указали критерии формулы.


Дополнительная информация:

Одна проблема, которая не была решена, заключалась в том, как получить средние значения за ночь (день работал нормально). Я также хотел получить средние значения для каждого сезона. Вот как я это исправил с помощью формулы массива:

=AVERAGE(IF((Sheet1!C$7:C$17622>=A$31)+(Sheet1!C$7:C$17622<A$32),IF(Sheet1!$B$7:$B$17622 >=$B31, IF(Sheet1!$B$7:$B$17622<$B32,Sheet1!D$7:D$17622))))

На листе 1 столбец C - время, столбец B - дата / время, а D - температура.

А: А31 = 18:00, А32 = 6:00 (Ночное время).

B31 = 03.01.2016 B32 = 06.01.2016 (пример диапазона для сезона)

Другие вопросы по тегам