MINIFS Function (Gnumeric)
Find the smallest matching numeric value with Gnumeric MINIFS, including paired criteria, no-result errors and source-specific blank handling.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
Quick answer: MINIFS returns the smallest numeric value among rows satisfying every criterion. In the pinned Gnumeric 1.12.62/GOffice source path, no matching numeric values yields #DIV/0!, not an automatic zero.
Availability and evidence
- Introduction: Gnumeric 1.12.32. NEWS explicitly introduces MINIFS and MAXIFS among the new aggregation functions.
- Source support: Registered in the Gnumeric 1.12.62 plugin. No retirement is established. The last functioning application version is unverified for this guide.
- Evidence dates: Official Gnumeric source was retained October 13–14, 2026 and reviewed October 15. The GOffice 0.10.61 source archive was retrieved October 15 and its relevant range routine reviewed the same day. Typed filtering, exact counting and rational interpolation checks are independent reference calculations. No native Gnumeric, compiled-library, headless application or GUI execution was performed.
Syntax and corresponding ranges
=MINIFS(actual_range,range1,criteria1,range2,criteria2,...)
Put the numeric result range first, followed by complete range/criterion pairs. Conditions combine with AND: a row must satisfy all of them before its result value is considered. The result range must evaluate to a cell range in this implementation. Corresponding areas must have the same width and height; a mismatch gives #VALUE! rather than resizing the ranges.
Use quoted comparisons such as ">=4", or concatenate an operator with a parameter cell: ">="&F2. An unadorned text criterion supports case-insensitive whole-cell wildcard matching. The source translates * into any-length text, ? into one character, and ~*, ~?, ~~ into literal special characters. The examples below keep text to ordinary ASCII so localized case and collation details are not inferred.
Reproducible filtered worksheet
Create FilteredValues with Region, Value, State and Quantity in A1:D1. Enter these rows. Row 7’s Value is the text string 30, entered into a text-formatted cell; row 8 contains the Boolean TRUE; row 9’s Value is physically empty.
| Row | A: Region | B: Value | C: State | D: Quantity |
|---|---|---|---|---|
| 2 | North | 12 | Open | 3 |
| 3 | North | 18 | Closed | 5 |
| 4 | South | -4 | Open | 2 |
| 5 | North | 0 | Open | 4 |
| 6 | South | 25 | Closed | 6 |
| 7 | North | text 30 | Open | 7 |
| 8 | North | TRUE | Open | 8 |
| 9 | North | physically empty | Open | 9 |
Enter =MINIFS(B2:B9,A2:A9,"North",C2:C9,"Open") in F2. The source-backed reference result is 0. Only numeric 12 and 0 qualify for the aggregation: text, Booleans and blanks in the result range are skipped even when their criteria cells match.
In G2 enter =MINIFS(B2:B9,A2:A9,"North",D2:D9,">=4"). The numeric candidates are 18 and 0, so the reference result is 0. The selected result values are not the quantities being compared. The criteria can select rows using one column while aggregating another.
Reference controls on the same dataset
| Formula or cell-value control | Independent reference result |
|---|---|
=MINIFS(B2:B9,A2:A9,"North",C2:C9,"Open") |
0 |
=MINIFS(B2:B9,A2:A9,"North",D2:D9,">=4") |
0 |
=MINIFS(B2:B9,A2:A9,"South") |
-4 |
=MINIFS(B2:B9,A2:A9,"South",C2:C9,"Open") |
-4 |
=MINIFS(B2:B9,A2:A9,"East") |
#DIV/0! |
=MINIFS(B2:B9,A2:A9,"North",D2:D9,">=5") |
18 |
=MINIFS(B2:B9,A2:A9,"North",D2:D9,">=6") |
#DIV/0! |
=MINIFS(B2:B9,A2:A9,"n?rth",C2:C9,"Open") |
0 |
=MINIFS(B2:B9) |
-4 |
=MINIFS(B2:B9,A2:A8,"North") |
#VALUE! |
=MINIFS(B2:B9,A2:A9) incomplete pair |
#VALUE! |
These are source-backed filtering and exact integer controls, not native worksheet captures. The first argument is consistently the result range. An empty result is distinguished from a real matching zero, which remains an ordinary numeric candidate.
Advanced: change a condition without changing the data
Put threshold 4 in J2 and use =MINIFS(B2:B9,A2:A9,"North",D2:D9,">="&J2) in J3. Its reference result is 0. Change J2 to 5 in a copy: only numeric 18 remains, so the result becomes 18. The matching text 30, TRUE and blank do not become numeric data merely because they meet the quantity threshold.
If the threshold is increased to 6, matching rows remain, but none has a numeric Value. The aggregation gives #DIV/0!. This is not proof that the criteria selected no rows. Keep a separate count and inspect the data types when distinguishing no matching records from matching records with no usable numeric values.
The zero-candidate behavior comes from the GOffice range min/max routine returning failure at n=0 and Gnumeric mapping that failure to DIV0. It differs materially from copying another product’s no-match result. A real zero should not be silently substituted for a missing statistic.
Advanced: numeric sign and multi-condition interpretation
For Region South alone, the candidates are -4 and 25; MINIFS returns -4. Adding State Open leaves only -4, so both maximum and minimum of that one-value set are -4. No implicit zero is added to the candidates.
For the original North/Open subset, change B2 from 12 to 15 in a copy. The minimum remains 0, because the other qualifying numeric value is still zero. This isolates a result-value change from a criterion change. Keep each controlled change on a separate copy or restore the original worksheet before the next test.
Blank criteria and error handling
The pinned criteria parser distinguishes empty tests. Criterion "" matches physically empty cells and empty text. Criterion "=" matches only physically empty cells. Criterion "<>" means not physically empty in this source and can therefore include an empty-string formula result. These descriptions concern the criteria range; blank or empty-text values in the result range are still skipped.
A matching result-cell error propagates. A result-cell error on a row excluded by the criteria is never collected. An error produced by the criterion expression itself propagates before filtering. Error cells within a criteria range are tested by the chosen predicate, so this guide does not claim that every error anywhere automatically propagates.
Argument boundaries and troubleshooting
An incomplete range/criterion pair gives #VALUE!. The source also accepts a single result-range argument with no criteria and aggregates its numeric values; this is an implementation boundary, not the recommended portable syntax. Use at least one explicit pair for the documented filtering workflow.
If the answer is unexpected, verify aligned range shapes, data types and whether comparisons apply to the intended column. A numeric-looking string in the result range is ignored. Numeric-text interpretation inside criteria has its own parser; use actual numeric cells for reliable comparisons. Locale-sensitive parsing, complex text collation, export round trips and native UI behavior remain unverified.
Sources and related guides
- Function help and worksheet callback
- Paired criteria dispatch, criteria parsing and blank predicates, filtered collection, and wildcard translation
- Range aliases and official GOffice 0.10.61 source archive, goffice/math/go-rangefunc.c lines 135–174, establish the no-numeric-data error path.
- Official mathematics reference
- Gnumeric official function catalogue