1

У меня есть серия измерений артериального давления. Я хочу определить среднее давление в течение дня и ночью.

Данные артериального давления

Первая половина проблемы тривиальна:

=AVERAGEIFS(B17:B71;A17:A71;">="&I16;A17:A71;"<="&I17)

строит среднее значение по всем ячейкам в столбце B ("Sys"), если соответствующее значение столбца A ("Время") больше 7:00 и меньше 22:00 (эти значения времени находятся в ячейках I16/17).

Моя проблема в том, как рассчитать среднее значение для часов за пределами этого диапазона. Я должен проверить, если время меньше 7:00 или больше 22:00, но условия AVERAGEIFS объединяются с помощью AND .

Я, очевидно, не могу использовать NOT() потому что мне придется применять его к результатам обоих сравнений одновременно, и, похоже, не существует способа сделать это.

Условное выделение не является проблемой, как вы можете видеть выше - там я могу ввести несколько условий, которые проверяются последовательно, эффективно давая мне оператор OR ...

Может быть, есть функция, которую я могу использовать, чтобы получить подмножество ячеек из диапазона, к которому я могу применить другую функцию? В любом случае, мне понадобится что-то подобное, когда я захочу определить максимумы и минимумы артериального давления для дня и ночи - в Excel нет функции MAXIFS() ...

3 ответа3

1

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

= (SUM(B17:B71) - SUMIFS(B17:B71;A17:A71;">="&I16;A17:A71;"<="&I17)) / (COUNT(B17:B71) - COUNTIFS(B17:B71;A17:A71;">="&I16;A17:A71;"<="&I17))

1

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

=AVERAGE(IF((A17:A71<I16)+(A17:A71>=I17);B17:B71))

Обратите внимание, что это формула массива, поэтому вы должны ввести ее как таковую (нажмите Ctrl+Shift+Enter, когда закончите ввод формулы).

Для второй части вы делаете то же самое, но переключаете AVERAGE с помощью MAX:

=MAX(IF((A17:A71<=I16)+(A17:A71>I17);B17:B71))

Я надеюсь, что это работает для вас!

0

Пока что я пришел со следующей идеей:

Я использую вспомогательный столбец с функцией

=IF(AND(A17>=$I$16;A17<$I$17);"Day";"Night")

тогда он содержит строку "День", если время в течение дня, и "Ночь" в противном случае. Затем я могу посмотреть на этот столбец с помощью функции AVERAGEIF .

Тем не менее, это не помогает мне найти максимальное давление для всех "дневных значений" ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .