Where “names” is the named range B6:B17, and times is the named range D6:D17. This is an array formula and must be entered with Control + Shift + Enter. This generates an array of TRUE / FALSE values, where TRUE corresponds to rows where the name matches the value in F6: The “value if true” for IF is the named range “times”, which returns the full set of times. The result is that the array from the logical test effectively “filters” the time values. When a result is TRUE, the time is passed into array returned by IF. When a result is FALSE, the time value is replaced by the boolean FALSE: Note: Excel times are fractional values, which explains the long decimal values. The IF function acts like a filter. Only time values associated with TRUE make it through the filter, other values are replaced with FALSE. The IF function delivers this array directly to the MIN function, returns the minimum value in the array. FALSE values are automatically ignored.

Empty cells

Empty cells will cause zero values to be passed into MIN, which can cause unexpected results. To “filter out” empty cells you can add another nested IF like this:


The MINIFS function, introduced in Excel 2016 via Office 365, is designed to calculate minimums based on one or more criteria without the need for an array formula. With MINIFS, the formula in G6 is:

Dave Bruns

Hi - I’m Dave Bruns, and I run Exceljet with my wife, Lisa. Our goal is to help you work faster in Excel. We create short videos, and clear examples of formulas, functions, pivot tables, conditional formatting, and charts.