米国財務省短期証券(T-Bill)は割引価格で発行されます。入札では「割引率」で取引が決まりますが、実際に支払う購入金額は別途「価格」として計算する必要があります。
そこで登場するのが ExcelのTBILLPRICE関数です。TBILLPRICEを使えば、割引率と日付から「額面100あたりの価格」をすぐに計算できます。割引率5%のT-Billを買うとき、いくら支払えばいいのか即座にわかりますよ。
この記事では、TBILLPRICE関数の構文・引数・計算式を解説します。実務で使える数式例や、TBILLEQ・TBILLYIELD・PRICEDISC関数との使い分けも紹介しますね。#NUM!エラーの典型パターンと対処法もあわせて確認できますよ。
ExcelのTBILLPRICE関数とは?
ExcelのTBILLPRICE関数(読み方:ティービル・プライス)は財務関数の一つです。米国財務省短期証券(T-Bill)の額面100あたりの価格を、割引率と日数から計算して返します。
関数名は「T-Bill(米国短期国債)」と「PRICE(価格)」を組み合わせたものです。つまり「T-Billの価格を求める関数」ですね。
T-Bill(米国財務省短期証券)の概要
T-Bill(Treasury Bill)は、米国財務省が発行する満期1年以内の短期国債です。
- 満期は4週・8週・13週・17週・26週・52週の6種類
- 利息はゼロ(クーポンなし)
- 額面より安い価格で発行され、満期に額面で償還される割引証券
- 入札は「割引率(discount rate)」で実施される
額面100ドルのT-Billを99ドルで買って、満期に100ドルで償還される。この1ドルが実質的な利息になる、という仕組みです。
TBILLPRICEが必要な場面
- 入札の落札予想割引率から、購入金額を見積もりたい
- 既発のT-Billを満期前に購入する際の理論価格を知りたい
- 残存日数別に複数銘柄の価格を一覧化したい
- 会計処理で割引証券の簿価計算の基礎を作りたい
入札結果は割引率で発表されるため、実際の購入金額を出すにはこの関数が欠かせません。
TBILLPRICE関数の構文と引数
TBILLPRICE関数の構文は次のとおりです。
=TBILLPRICE(settlement, maturity, discount)
引数は3つで、すべて必須です。同じT-Bill系のTBILLEQ関数・TBILLYIELD関数と引数の数も並びも揃っています。
| 引数 | 必須/省略 | 意味 |
|---|---|---|
| settlement | 必須 | 受渡日(証券の購入が完了する日) |
| maturity | 必須 | 満期日(償還日)。settlement より後の日付 |
| discount | 必須 | T-Billの割引率(小数で指定。9.14%なら 0.0914) |
引数の日付制約
settlement と maturity の日付関係には次の制約があります。
settlement < maturity ≤ settlement + 365日
時系列で並べるとこうなります。
[受渡日] ―→ [満期日]
settlement maturity
(最大1暦年=365日以内)
つまり「受渡日から満期日までは1年以内」という制約です。これはT-Billの最長満期が52週間(約364日)であることに対応しています。1年を超えると #NUM! エラーになります。
discount引数の表記
discount はT-Billの割引率(年率)です。必ず小数で指定してください。
- 9.14%なら
0.0914 - 5%なら
0.05 - 0.5%なら
0.005
9.14 のようにパーセント整数値を入れると、計算結果が桁外れになります。実務でつまずきやすいポイントなので注意しましょう。
settlementとmaturityの入力方法
日付は次のいずれかの形で渡します。
- DATE関数:
DATE(2026,5,7)のように年・月・日を直接指定 - セル参照: 日付形式のセルを参照
- 日付シリアル値:
"2026/5/7"などの文字列ではなく、Excel内部の日付シリアル値
文字列のまま渡すと #VALUE! エラーになります。必ず日付として認識される形式で渡してください。
TBILLPRICE関数の計算式と仕組み
TBILLPRICEの内部で行われている計算を見ておくと、引数の意味と制約が理解しやすくなります。
計算式: 100 × (1 − discount × DSM / 360)
TBILLPRICEは次の式で価格を計算します。
TBILLPRICE = 100 × (1 − discount × DSM / 360)
- DSM = 受渡日から満期日までの日数(カレンダー日数)
- 360 = 短期金融市場の慣習である360日基準(ACT/360)
- 100 = 額面(券面金額)
式の意味はシンプルです。「割引率 × 残存日数 / 360」が割引額の比率を表します。これを額面100から引くことで、購入価格が求まります。
360日基準と365日制約の理由
「日数を360日で割る」のは、短期金融市場の歴史的慣習(ACT/360)です。銀行間取引・CD・CP・短期国債で広く使われてきました。
一方、計算結果のチェックには365日制約があります。これはTBILLPRICEがT-Bill専用に設計されているからです。T-Billの最長満期が52週間(約364日)であるため、1年超を入れると #NUM! エラーで弾かれる仕組みです。
1年を超える割引証券を扱う場合は、汎用のPRICEDISC関数を使ってください。
TBILLPRICE関数の基本的な使い方
実例で動きを確認しましょう。
例1: Microsoft公式サンプル
Microsoft公式リファレンスのサンプル値です。
- 受渡日: 2008/3/31
- 満期日: 2008/6/1
- 割引率: 9.14%(0.0914)
=TBILLPRICE(DATE(2008,3,31), DATE(2008,6,1), 0.0914)
結果は約 98.4259 になります。額面100に対して、購入価格は約 98.43 ということですね。
計算式での検算
DSM(受渡日から満期日までの日数)= 62日として、TBILLPRICEの計算式は次のとおりです。
TBILLPRICE = 100 × (1 − 0.0914 × 62 / 360)
= 100 × (1 − 5.6668 / 360)
= 100 × (1 − 0.015741)
= 100 × 0.984259
≈ 98.4259
割引率9.14%・残存62日のT-Billでは、額面100に対して約1.57の割引が発生します。その結果、購入価格は98.43前後になる、という関係です。
例2: 13週間(91日)T-Billの価格計算
実務で頻出する13週間(91日)T-Billの例です。
- 受渡日: 2026/5/7
- 満期日: 2026/8/6(91日後)
- 割引率: 5%(0.05)
=TBILLPRICE(DATE(2026,5,7), DATE(2026,8,6), 0.05)
結果は約 98.7361 です。額面100に対して、購入価格は約 98.74 になります。1万米ドル分の額面なら、約 9,873.61 米ドルで購入できる計算です。
例3: セル参照で複数銘柄を一括計算
実務では引数をセル参照にすると、複数銘柄の価格比較が楽になります。
| 銘柄 | 受渡日 | 満期日 | 割引率 | 価格(=TBILLPRICE) |
|---|---|---|---|---|
| 4週物 | 2026/5/7 | 2026/6/4 | 0.0480 | 99.6267 |
| 13週物 | 2026/5/7 | 2026/8/6 | 0.0500 | 98.7361 |
| 26週物 | 2026/5/7 | 2026/11/5 | 0.0510 | 97.4217 |
| 52週物 | 2026/5/7 | 2027/5/6 | 0.0515 | 94.7928 |
各銘柄に TBILLPRICE(受渡日, 満期日, 割引率) を入れるだけで、購入価格の一覧表が完成します。残存期間が長くなるほど、価格が額面100から大きく乖離していく様子が確認できますよ。
TBILLPRICE・TBILLEQ・TBILLYIELDの使い分け
T-Bill系の関数3つは、入力と出力の組み合わせで役割が分かれています。
| 関数 | 入力 | 出力 |
|---|---|---|
| TBILLPRICE | 割引率(discount) | 価格(額面100あたり) |
| TBILLEQ | 割引率(discount) | 債券換算利回り(BEY) |
| TBILLYIELD | 価格(pr) | 利回り(年率) |
3関数の引数は最初の2つ(settlement, maturity)が共通で、第3引数だけが目的に応じて変わります。
TBILLEQ との違い
TBILLPRICEは割引率から「価格」を計算します。一方TBILLEQは割引率から「利回り(BEY)」を計算します。
- TBILLPRICE: 入札結果から購入金額を見積もりたいとき
- TBILLEQ: 入札結果を利付債と並べて比較したいとき
両者は同じ割引率を入力にしますが、出力(価格 vs 利回り)が異なる関数ですね。
TBILLYIELD との違い
TBILLYIELDは「価格」から利回りを計算します。一方TBILLPRICEは「割引率」から価格を計算します。
- TBILLPRICE: 入札時の割引率から、購入価格を計算
- TBILLYIELD: 流通市場で取引されているT-Billの価格から、現時点の利回りを逆算
入力データが「割引率」か「価格」かで使い分けてください。
3関数を組み合わせた実務フロー
入札→価格算出→BEY換算という一連の流れは、3関数の組み合わせで完結します。
- 入札結果(割引率)から TBILLPRICE で購入価格を計算
- 同じ割引率から TBILLEQ で債券換算利回り(BEY)を計算
- 後日、流通市場の価格から TBILLYIELD で時価利回りを再計算
この3ステップで、発行から運用評価までの利回り計算がカバーできますよ。
関連する割引証券関数(PRICEDISC・DISC)
T-Bill以外の割引証券にも対応する関数があります。
| 関数 | 用途 |
|---|---|
| DISC | 割引証券の割引率を計算 |
| PRICEDISC | 割引証券の価格を計算 |
| YIELDDISC | 割引証券の年利回りを計算 |
| INTRATE | 投資全期間の金利を計算 |
| TBILLPRICE | T-Billの価格 |
| TBILLEQ | T-Billの債券換算利回り |
| TBILLYIELD | T-Billの利回り |
TBILLPRICE と PRICEDISC の違い
両者は「割引証券の価格を計算する」という意味では似ています。しかし設計思想が異なります。
| 項目 | TBILLPRICE | PRICEDISC |
|---|---|---|
| 対象 | T-Bill専用 | 割引証券一般 |
| 満期制約 | 1年(365日)以内 | 制約なし(1年超も可) |
| basis引数 | なし(360日固定) | あり(0/1/2/3/4から選択) |
| 額面 | 100固定 | 額面・償還額を引数で指定 |
T-Bill系3関数は短期国債(1年以内)専用で計算が簡略化されています。1年を超える割引証券にはPRICEDISCを使ってください。
実務での活用例
短期国債の入札参加判断
財務省の国庫短期証券入札では、落札予想割引率から購入金額を見積もる必要があります。落札予想割引率をTBILLPRICEに入れれば、必要な資金額が即座にわかりますよ。
入札のたびに割引率セルを更新するだけで、購入価格が自動再計算されます。
既発T-Billの価格評価
満期前の既発T-Billを流通市場で購入する場合、現時点の市場割引率から理論価格を計算できます。市場の提示価格と比較すれば、割安・割高を判断する材料になりますね。
ポートフォリオの一覧管理
複数のT-Billを保有している場合、銘柄別に受渡日・満期日・割引率をシートに並べておきます。各行にTBILLPRICEを入れれば、全銘柄の購入価格を横並びで管理できますよ。残存期間別の資金配分も一目で確認できます。
会計処理の簿価計算
割引証券は償却原価法で簿価を更新する必要があります。発行時の購入価格をTBILLPRICEで算出しておけば、その後の償却計算の基礎データが整います。
MMFファンドの組入銘柄評価
MMF(マネーマーケットファンド)の組入銘柄に短期国債が含まれる場合があります。原資料の割引率からTBILLPRICEで価格を再計算すれば、報告NAVの妥当性を確認できます。
よくあるエラーと対処法
#NUM! エラー
| 原因 | 対処法 |
|---|---|
| 日付順制約違反(settlement ≥ maturity) | settlement を maturity より前の日付にする |
| 満期日が受渡日から1年(365日)超 | TBILLPRICEはT-Bill専用で1年超は対応外。PRICEDISC関数を使う |
| discount が0以下 | 割引率は正の数を指定 |
| settlement や maturity が無効な日付 | DATE関数で正しい日付を指定 |
#VALUE! エラー
| 原因 | 対処法 |
|---|---|
| 日付引数が日付として認識されない | DATE関数で指定するか、日付形式のセルを参照する |
| discount に文字列が入っている | 数値(小数)に変換して指定 |
結果が異常値になる場合
| 原因 | 対処法 |
|---|---|
| discount をパーセント整数値で指定(例: 9.14) | 必ず小数で指定(9.14%なら 0.0914) |
| settlement と maturity を逆に指定 | 受渡日が先・満期日が後の順で指定 |
| 価格がマイナスになる | discount × DSM / 360 が1を超えている。割引率と日数を再確認 |
特に「1年超で #NUM!」と「discountをパーセント整数で入力」は実務でつまずきやすいポイントです。1年超の割引証券を扱う場合は、PRICEDISC関数に切り替えてくださいね。
TBILLPRICE関数を使えば、T-Billの割引率から購入価格を即座に算出できます。入札参加の資金計画やポートフォリオ管理で頼れる味方になりますよ。割引率と日付の3引数だけで使えるシンプルな関数なので、財務関数の中でも覚えやすい1本です。
