These work like SUMIF and SUMIFS, but return an average, a maximum or a minimum of the matching rows.
AVERAGEIF(criteria_range, criterion, average_range): one condition; the range to average comes last.
AVERAGEIFS(average_range, criteria_range1, criterion1, ...): several conditions; the range to average comes first.
MAXIFS(range, criteria_range1, criterion1, ...) and MINIFS(...): the range to search comes first.
Empty cells in the range being averaged are skipped. That matters: a review with no response yet shouldn't count as 0 hours. If you build an average yourself with SUMIF divided by COUNTIF, COUNTIF counts the rows, blanks included, and the result comes out too low.
When nothing matches, AVERAGEIF returns #DIV/0! and MAXIFS returns 0, so check that the criterion is spelled the way the data spells it.