What Most People Miss About How the MIN Function Works in Excel

Why does =MIN(A2:A50) return 0 when all your sales figures are $12,400 or higher? Why does it ignore a cell with 'N/A' but crash on #VALUE! — even though both look like errors? Why does =MIN(B2:B20) pull in a date from 1900 when you only wanted dollar amounts?

Quick Answer

The MIN function returns the smallest numeric value in a range — but it silently skips text, logical values (TRUE/FALSE), and empty cells. It does not skip error values (like #N/A or #DIV/0!), and it treats dates and times as numbers (so 1 Jan 1900 = 1). If your range contains even one error, MIN returns that error — no warning, no prompt.

All the Methods

MethodStepsBest ForLimitations
=MIN(range)Type =MIN(A2:A15) and press EnterClean numeric data with no errorsFails completely if any cell contains #N/A, #REF!, etc.
=AGGREGATE(5,6,range)Type =AGGREGATE(5,6,A2:A15) — 5 = MIN, 6 = ignore errorsData with mixed errors and numbersNot available in Excel 2003 or earlier; harder to remember syntax
Array formula with IF + ISNUMBER=MIN(IF(ISNUMBER(A2:A15),A2:A15)) — then press Ctrl+Shift+Enter (or Enter in Excel 365)Selective filtering (e.g., only positive numbers, or values > 0)Requires array entry in older Excel; slow on 10K+ rows
Helper column + MINIn B2: =IF(ISNUMBER(A2),A2,"") → drag down → =MIN(B2:B15)Auditable workflows or shared files where others editAdds clutter; breaks if helper column is accidentally deleted

Method 1 Deep Dive

Let’s say you’re tracking Q1 sales across 7 regional managers. Your raw data lives in A2:A8:

A
$82,500
$64,120
#N/A
$91,300
"Pending"
$77,850
0

Type =MIN(A2:A8) in cell C2. You’ll get #N/A — not $64,120, not $0. That’s because MIN sees the #N/A and bails out immediately. It doesn’t care that six other cells are clean numbers. (Trust me, I learned this the hard way during a board presentation.)

Now try =AGGREGATE(5,6,A2:A8) in C3. Result: $64,120. The '5' tells Excel you want MIN. The '6' means “ignore error values.” This is the safest go-to for real-world datasets — especially when pulling from external systems or dashboards fed by Power Query.

Method 2 Deep Dive

Say you manage vendor contracts and need the earliest *valid* start date — but some rows contain "TBD", "—", or blank cells. Your dates sit in column D2:D12:

D
2024-03-15
2024-05-22
"TBD"
2024-01-08
#VALUE!
2024-07-30
2023-11-12
"N/A"
2024-04-05
2024-06-17

You want the earliest date — but only among actual dates. =MIN(D2:D12) fails with #VALUE!. =AGGREGATE(5,6,D2:D12) still fails, because #VALUE! is an error — but now you’ve got text too. So we combine logic: =MIN(IF(ISNUMBER(D2:D12),D2:D12)).

In Excel 365 or 2021, just type it and press Enter. In Excel 2019 or earlier? Type it, then hold Ctrl+Shift and press Enter — you’ll see braces { } appear around the formula. That’s your signal it’s working as an array.

Result: 2023-11-12 (serial number 45242). Bonus tip: ISNUMBER catches dates (they’re numbers), but rejects "TBD", blanks, and text — exactly what we need. And yes, it ignores #VALUE! automatically because ISNUMBER returns FALSE for it, so that cell gets excluded from the MIN calculation.

Cheat Sheet

TaskFormulaShortcut / Notes
Basic MIN (no errors)=MIN(A2:A100)Fastest. Use only when you’ve cleaned data first.
MIN ignoring errors=AGGREGATE(5,6,A2:A100)Alt + M, U, 5 → opens AGGREGATE wizard (Windows only)
MIN of positive numbers only=MIN(IF(A2:A100>0,A2:A100))Ctrl+Shift+Enter in legacy Excel; Enter in 365
MIN excluding zeros=MINIFS(A2:A100,A2:A100,">0")MINIFS requires Excel 2016+. Zeroes won’t pollute your result.
Confirm numeric-only range=COUNT(A2:A100)=COUNTA(A2:A100)Returns TRUE only if every non-blank cell is numeric.
Sarah Mitchell

Sarah Mitchell

Sarah has 12 years of experience covering Microsoft 365 productivity tools and enterprise software workflows. She specializes in Excel automation and SharePoint integration.