DMIN function

Returns the minimum value in a database field for rows matching criteria, helping find lowest prices, smallest quantities, or minimum values in filtered records.

=DMIN(database, field, criteria)

Generate a DMIN formula

Describe what you need. The generator will reach for DMIN where DMIN is the right tool, and tell you when it is not.

How to get a better answer
  • Name your columns by letter and by header: "column F (Net Value)" beats "the amount column".
  • State every condition, including the negatives — "not cancelled" changes the formula's shape.
  • Say where the data starts if it is not row 1, and whether it will grow.
  • Check the settings above match your spreadsheet: the wrong argument separator is a syntax error on your machine.

Arguments

How DMIN reads its arguments
databaserequiredfieldrequiredcriteriarequiredDMIN
ArgumentRequiredDescription
databaseRequiredThe range containing your data table, including headers in the first row; DMIN searches this entire range for matching records.
fieldRequiredThe column to evaluate, specified either as a quoted header name like "Units" or as a column number starting from 1; must contain numeric values.
criteriaRequiredA range containing header labels and conditions; rows that match all conditions in this range are included in the minimum calculation.

Returns

Returns a single number—the smallest numeric value from the specified field in rows where all criteria match.

Availability

Excel: All · Google Sheets: Supported

Worked examples

1. Find the smallest order quantity for a specific sales rep

Order IDRegionRepUnitsUnit PriceOrder Date
001NorthAlice50251/1/2024
002SouthBob30401/2/2024
003NorthAlice45351/3/2024
004EastCharlie20501/4/2024
005WestDiana60151/5/2024
006NorthBob35221/6/2024
007SouthAlice55201/7/2024
008EastDiana25451/8/2024
RepAlice
=DMIN(A$1:F$8, "Units", A$10:A$11)

Result: 45

Alice has three orders: 50, 45, and 55 units. DMIN finds rows where Rep = "Alice", identifies the Units values (50, 45, 55), and returns 45 as the minimum.

2. Find the lowest unit price sold in a specific region

Order IDRegionRepUnitsUnit PriceOrder Date
001NorthAlice50251/1/2024
002SouthBob30401/2/2024
003NorthAlice45351/3/2024
004EastCharlie20501/4/2024
005WestDiana60151/5/2024
006NorthBob35221/6/2024
007SouthAlice55201/7/2024
008EastDiana25451/8/2024
RegionNorth
=DMIN(A$1:F$8, "Unit Price", A$10:A$11)

Result: 22

The North region has three orders with Unit Price values of 25, 35, and 22. DMIN evaluates rows where Region = "North" and returns 22, the smallest price.

3. Find the smallest quantity ordered when unit price exceeds a threshold

Order IDRegionRepUnitsUnit PriceOrder Date
001NorthAlice50251/1/2024
002SouthBob30401/2/2024
003NorthAlice45351/3/2024
004EastCharlie20501/4/2024
005WestDiana60151/5/2024
006NorthBob35221/6/2024
007SouthAlice55201/7/2024
008EastDiana25451/8/2024
Unit Price>40
=DMIN(A$1:F$8, 4, A$10:A$11)

Result: 20

Rows where Unit Price > 40 are Charlie (20 units at price 50) and Diana (25 units at price 45). DMIN searches column 4 (Units) for these matching rows and returns 20.

Common errors

Which DMIN error are you seeing?
DMIN returned an error#N/A
Review your criteria values to ensure they match actual data—for example, verify that the rep name "Xavier" exists, or adjust conditions like "<0" that match no records.
#VALUE!
Verify the field name exactly matches a header in your database (checking capitalization), or confirm the column number is within range; if data is A1:F8, column numbers should be 1–6.
#VALUE!
Ensure each criteria header (like "Region" or "Rep") matches exactly a column header in your database, and keep the criteria range rectangular with matching dimensions.
ErrorWhy it happensHow to fix it
#N/ANo rows in the database match the criteria specified in the criteria range.Review your criteria values to ensure they match actual data—for example, verify that the rep name "Xavier" exists, or adjust conditions like "<0" that match no records.
#VALUE!The field argument references a column that doesn't exist in the database—either the column name is misspelled or the column number exceeds the database width.Verify the field name exactly matches a header in your database (checking capitalization), or confirm the column number is within range; if data is A1:F8, column numbers should be 1–6.
#VALUE!The criteria range structure is invalid—the number of columns in criteria doesn't match the database, or header names in the criteria don't exist in the database.Ensure each criteria header (like "Region" or "Rep") matches exactly a column header in your database, and keep the criteria range rectangular with matching dimensions.

Tips and when to use something else

  • Specify the field using a quoted column name like "Units" or as a number like 4 (counting from 1); using numbers makes formulas robust if column headers change.
  • Criteria ranges must align with database headers—each criteria column must match a database header name, and all matching rows are included in the minimum calculation.
  • If you need the maximum value instead of minimum, use DMAX; for sums use DSUM; for averages use DAVERAGE—these are faster than working around DMIN.
  • DMIN ignores empty cells and text values in the field column, comparing only numeric entries; if a field contains only text, DMIN returns #VALUE!.

Frequently asked questions

Can DMIN work with multiple criteria at once?
Yes. Add multiple header-value pairs across columns in your criteria range for AND logic (e.g., Region = North AND Rep = Alice in the same row), or add rows below for OR conditions. Each row after the header row represents an alternative set of criteria.
Does DMIN include blank cells in its calculation?
No. DMIN ignores blank cells and text values in the field column, comparing only numeric data. If all matching records have blanks in the field column, DMIN returns #VALUE!.
What's the difference between DMIN and MIN used on filtered data?
DMIN applies criteria automatically without requiring manual filtering, making reports cleaner and more maintainable. MIN on filtered data requires you to first apply filters manually or use array formulas, and may behave unexpectedly with hidden rows.
Can I use DMIN to find the minimum date from filtered records?
Yes, if dates are stored as numeric values (which they are in Excel and Google Sheets). DMIN compares date numbers directly, so specifying a date column as your field will return the earliest date among matching rows.

Need a different formula?

The full generator is not scoped to one function — describe any spreadsheet problem and it will pick.

Open the formula generator

Reviewed 2026-09-17