Количество нет.времен: среднее от timea-timeb ниже среднего от timec-timed на следующий день - PullRequest
0 голосов
/ 11 июня 2018

Извините за неоднозначное название, у меня есть запрос, который ставит меня в тупик в Excel:

У меня есть диапазон данных о температуре, записи с каждой минуты каждого дня в течение 3 месяцев.

Я хочу узнать, во сколько раз средняя температура с 20:30 до 21:30 в каждый день ниже средней температуры с 01:00 до 02:00 следующего утра (разница примерно в 5 часов).

Если это трудно понять, вот «логическая формула»:

count (averageTemp (dateX (timeA-timeA + 1))) <(averageTemp (dateY (timeB-timeB + 1)))) </p>

Вот пример данных в виде скриншота:

Пожалуйста, помогите мне, этот заставляет меня почесать голову.

Ответы [ 2 ]

0 голосов
/ 11 июня 2018

Введите это как формулу массива ( ctrl + shift + введите ) и измените "122401" на номер последней строки вашего диапазона данных:

=SUM(IFERROR(--(AVERAGEIFS(C2:C122401,B2:B122401,"<="&TIMEVALUE("21:30"),B2:B122401,">="&TIMEVALUE("20:30"),A2:A122401,ROW(INDIRECT(A2&":"&A122401)))<AVERAGEIFS(C2:C122401,B2:B122401,"<="&TIMEVALUE("02:00"),B2:B122401,">="&TIMEVALUE("01:00"),A2:A122401,ROW(INDIRECT(A2+1&":"&A122401)))),0))

Предполагается, что первый набор температур с 01: 00-02: 00 не имеет соответствующего набора с 20: 30-21: 30.

0 голосов
/ 11 июня 2018

Я бы ввел флаг в столбце D, который принимает значение 1/0 независимо от того, находится ли время в интересующем вас кадре.

Поэтому введите D2 = IF (ИЛИ (И (В2 <21:30, B2> 20:30), AND (B2 <01: 00, B2> 02:00))), 1,0).

Тогда я бы пошел в столбец C и проверил, получил ли DI1, введите простое выражение IF, чтобы проверить температуру.

Дайте мне знать, если это работает!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...