TBILLPRICE Function (Gnumeric)
Calculate Gnumeric TBILLPRICE per 100 face value. Reproduce a 180-day discount bill, distinguish price from yield, and check source-specific date limits.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
Quick answer: =TBILLPRICE(DATE(2026,1,1),DATE(2026,6,30),0.05) has the reference result 97.5 with the inputs described below. This is an independently checked expectation from Gnumeric’s pinned source, not an observed application result.
Availability and version history
- Introduced: Recorded as implemented in the grouped Gnumeric 0.33, 0.34 and 0.35 release notes. Those notes do not isolate which of the three releases first contained it, so the precise first version and release date remain unestablished.
- Documented support: Registered in Gnumeric 1.12.62, in the Financial Functions plugin. No retirement is established.
- Last functioning version: Unverified for this guide; source presence does not certify an application execution.
- Scope and dates: English formulas are shown. Official source snapshots were retained from the October 13–14, 2026 audit. This full guide and its reference calculations were checked on October 15, 2026; no newer source retrieval or native run is implied.
What TBILLPRICE does
TBILLPRICE returns 100*(1-discount*days/360), where days is the difference between the converted settlement and maturity serial dates. The discount rate is measured against face value. The result is a price per 100 of face value, not the total cost of an arbitrary position and not an annual investment yield.
The function-specific help and complete callback provide the product-specific contract.
Syntax and arguments
=TBILLPRICE(settlement,maturity,discount)
- settlement: Starting date as a valid spreadsheet date.
- maturity: Ending date, no more than 365 days after settlement in the inspected callback.
- discount: Nonnegative annual discount rate. All three arguments are required; there is no optional day-count basis.
The registration was checked alongside the callback; use the exact function name and argument order rather than assuming cross-application equivalence.
Reproducible worksheet
Enter =DATE(2026,1,1) in B2 and =DATE(2026,6,30) in B3. Enter 5% in B4. The date difference =B3-B2 is 180 days. In B6 enter =TBILLPRICE(B2,B3,B4); the reference result is 97.5 per 100 face value. For 10000 face value, =B6/100*10000 scales the quoted price to 9750, before any fees or other adjustments.
The formula uses a 360-day denominator even though the dates are counted by their actual serial difference. It does not substitute a 30/360 month-count algorithm for the January-to-June interval.
Formula and boundary checks
All outputs below are source-derived independent reference results. Decimal outputs are rounded to twelve places where needed. Use DATE expressions as written for date-based examples rather than substituting ambiguous date text.
| Formula | Expected reference result |
|---|---|
=TBILLPRICE(DATE(2026,1,1),DATE(2026,6,30),0.05) |
97.5 |
=TBILLPRICE(DATE(2026,1,1),DATE(2026,6,30),0) |
100 |
=TBILLPRICE(DATE(2026,1,1),DATE(2026,1,1),0.05) |
100 |
=TBILLPRICE(DATE(2026,1,1),DATE(2027,1,1),0.05) |
94.930555555556 |
=TBILLPRICE(DATE(2026,1,1),DATE(2027,1,2),0.05) |
#NUM! |
=TBILLPRICE(DATE(2026,6,30),DATE(2026,1,1),0.05) |
#NUM! |
=TBILLPRICE(DATE(2026,1,1),DATE(2026,6,30),-0.05) |
#NUM! |
=TBILLPRICE(DATE(2026,1,1),DATE(2026,12,27),1) |
0 |
=TBILLPRICE(DATE(2026,1,1),DATE(2026,12,27),2) |
-100 |
Advanced application and cross-check
For the same dates, the discount amount per 100 is 2.5. Recover the input discount rate with =(100-97.5)/100*360/180, giving 5%. In contrast, the price-based simple yield from TBILLYIELD is approximately 5.128205128205%, because that formula divides the gain by the 97.5 purchase price. Confusing these denominators is a common reconciliation error.
The callback permits a zero discount rate, producing 100, and equal settlement and maturity dates, also producing 100. Its companion TBILLYIELD rejects an interval of zero. Therefore a valid-looking output from one bill function does not establish that the same dates are valid for every other bill calculation.
Errors, boundaries and troubleshooting
The inspected TBILLPRICE guard returns #NUM! for settlement after maturity, negative discount or an interval longer than 365 days. Exactly 365 days is allowed. No check rejects a discount large enough to create a zero or negative price. For a 360-day interval and discount 1, the arithmetic gives zero; discount 2 gives -100. These are source behaviors, not plausible quoted prices.
Use genuine dates, preferably built with DATE, rather than ambiguous text such as 1/6/26. Invalid-date conversion and time-of-day behavior are not independently executed here. The callback obtains integer date serials through a shared helper, so this guide confines its examples to valid whole dates. Confirm the date cells and day difference before interpreting a price error.
The fixtures use explicit strings or valid numeric arguments and dates. Native blank/text coercions, localized formula entry and display formatting remain unverified; keep missing inputs distinct from intentional zero.
Official evidence and verification limits
The calculations are an independent reference model, not execution of the full Gnumeric engine, headless application or graphical editor. No exact installed-release behavior, GUI entry, locale handling, import parity or extreme-value outcome is certified beyond the stated source scope. Reproduce a small fixture in the target build before relying on an operational workbook.