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