QUARTILE.EXC Function (Gnumeric)
Find exclusive quartiles in Gnumeric with QUARTILE.EXC. See n+1 interpolation, fractional selectors, small-sample limits and checked error cases.
Verification status: 24 reference, boundary and advanced-check formulas were recalculated with Gnumeric 1.12.57 ssconvert. Typed inputs, saved formula identities and results were independently checked. Gnumeric 1.12.62 was source-checked only. How formula examples are checked
Help correction: The inherited quart=0/minimum note does not apply to this exclusive calculation. Native 1.12.57 returns #NUM! for selectors 0 and 4; current source retains the exclusive-position calculation.
Quick answer: =QUARTILE.EXC(F2:F6,1) gives 1.5 in Gnumeric 1.12.57.
Availability and version history
- Introduced: Gnumeric 1.12.23 release notes record its addition.
- Supported in: Gnumeric 1.12.62; no retirement is established.
- Scope: Desktop Gnumeric with its Statistics plugin. English comma-separated formulas are shown.
- Checked: October 14, 2026. The tables and named advanced check use 1.12.57 ssconvert. Current 1.12.62 source was inspected; that release was not executed.
What QUARTILE.EXC returns
QUARTILE.EXC applies the exclusive percentile convention at k=quart/4. The usual selectors are 1 for the lower quartile, 2 for the median and 3 for the upper quartile. Unlike inclusive QUARTILE, selectors 0 and 4 do not return the minimum and maximum in the tested implementation. Versioned function help.
Syntax and arguments
=QUARTILE.EXC(array,quart)
array: numeric data; text, booleans and blank cells are ignored.quart: the selector, floored before calculation. Use integers 1,2 or 3 deliberately. A valid selector can still fail if the sample is too small for its exclusive position.
Reproducible examples
Enter these columns as numbers, except for the explicitly typed H column. F7 and H7 are genuinely empty.
| Row | F | G: ties | H: mixed storage | L: constant | M: reflected | N | O: shifted | P: scaled |
|---|---|---|---|---|---|---|---|---|
| 2 | 1 | 10 | number 1 | 5 | −1 | 1 | 101 | 2 |
| 3 | 2 | 20 | logical TRUE | 5 | −2 | 2 | 102 | 4 |
| 4 | 3 | 20 | logical FALSE | 5 | −3 | 3 | 103 | 6 |
| 5 | 4 | 40 | text 8 |
5 | −4 | 4 | 104 | 8 |
| 6 | 10 | 50 | text pending |
5 | −10 | empty | 110 | 20 |
Use an apostrophe entry marker if needed to store H5 as text; it is not part of the stored value. The results below are native outputs rounded to 12 decimal places for readability, rather than application screenshots.
| Formula | Gnumeric 1.12.57 result |
|---|---|
=QUARTILE.EXC(F2:F6,1) |
1.5 |
=QUARTILE.EXC(F2:F6,2) |
3 |
=QUARTILE.EXC(F2:F6,3) |
7 |
=QUARTILE.EXC(G2:G6,1) |
15 |
=QUARTILE.EXC(G2:G6,3) |
45 |
=QUARTILE.EXC(N2:N5,1) |
1.25 |
=QUARTILE.EXC(N2:N5,3) |
3.75 |
=QUARTILE.EXC(O2:O6,2) |
103 |
Practical worksheet
For 1,2,3,4,10 in F2:F6, =QUARTILE.EXC(F2:F6,1) gives 1.5, selector 2 gives 3, and selector 3 gives 7. These are the same type-6 percentiles at 0.25,0.5,0.75.
The help includes an inherited note suggesting quart=0 returns the minimum; that is inconsistent with the exclusive implementation and the native #NUM! result. Use a documented minimum function for a minimum, rather than treating this selector as supported.
Advanced interpretation and checks
For sorted data the one-based position is (n+1)*floor(quart)/4. With four observations 1,2,3,4, the lower and upper positions are 1.25 and 3.75, giving 1.25 and 3.75. With just two observations, the lower position is 0.75 and upper position 2.25, both outside the data, so only the median is defined.
For the tied five-value dataset G2:G6, lower and upper quartiles are 15 and 45. The native =QUARTILE.EXC(G2:G6,3)-QUARTILE.EXC(G2:G6,1) gives 30. Preserve the chosen exclusive method when interpreting this interquartile range.
Version-specific source comparison
The relevant argument guards and calculation sequence are preserved in the retained 1.12.57 and 1.12.62 callbacks. This is a source comparison; later-release output was not tested.
Boundaries and troubleshooting
Selectors 0 and 4, a singleton and an empty numeric array return #NUM!. The tested fractional selectors 1.9 and 3.9 act as 1 and 3. A negative fraction is floored downward; avoid using fractional selectors as a substitute for an explicitly chosen percentile.
| Formula | Gnumeric 1.12.57 result |
|---|---|
=QUARTILE.EXC(F2:F6,0) |
#NUM! |
=QUARTILE.EXC(F2:F6,4) |
#NUM! |
=QUARTILE.EXC(F2:F6,-0.1) |
#NUM! |
=QUARTILE.EXC(F2:F6,1.9) |
1.5 |
=QUARTILE.EXC(F2:F6,3.9) |
7 |
=QUARTILE.EXC(F2:F3,1) |
#NUM! |
=QUARTILE.EXC(F2:F3,2) |
1.5 |
=QUARTILE.EXC(F2:F3,3) |
#NUM! |
=QUARTILE.EXC(F2,2) |
#NUM! |
=QUARTILE.EXC(F7,2) |
#NUM! |
=QUARTILE.EXC(H2:H6,2) |
#NUM! |
=QUARTILE.EXC(F2:F6,"2") |
3 |
=QUARTILE.EXC(F2:F6,"abc") |
#VALUE! |
=QUARTILE.EXC(F2:F6) |
#N/A |
=QUARTILE.EXC(F2:F6,2,1) |
#N/A |
Official evidence and checking scope
Both the stale SUM cache and the uncached SUM recalculated correctly. Saved formula identities and typed inputs were checked in the native workbook exports. The importer reported unsupported style-extension elements; this does not establish complete formatting support. GUI entry, other locales and later-version execution were not tested.