「債券価格が”100.16″って書いてあるけど、これ100.16ドルじゃないの?」——そう思ったことはありませんか。米国の債券市場では価格を分数で表す独自の慣習があり、”100.16″は実際には「100と16/32」つまり100.5ドルを意味しています。
DOLLARDE 関数はこの変換を自動でやってくれます。分数表記の価格を入力するだけで、計算に使える小数の値をすぐに返してくれますよ。
この記事では、スプレッドシートの DOLLARDE 関数の使い方を、構文・計算例・よくあるエラーの対処まで同僚に教える感覚で解説します。DOLLARFR 関数との使い分けも整理しているので、米国市場のデータを扱う経理・財務の実務にぜひ活用してください。
スプレッドシートの DOLLARDE 関数とは?
スプレッドシートの DOLLARDE 関数は、分数表記のドル価格を小数(デシマル)に変換する財務関数です。
関数名の DOLLARDE は “Dollar Decimal”(ドル・小数)の略で、DOLLAR+DE(Decimal)が語源です。読み方は「ダラー デシマル」です。
分数表記とは何か
米国の債券市場(特に国債・モーゲージ証券)では、価格を「整数部+分数部」で表す慣習があります。よく使われる単位は 32分の1(32nds) で、”100.16″ と書いたら「100 + 16/32 = 100.5」という意味です。
この「分数表記の価格」を DOLLARDE 関数に渡すと、計算に使える普通の小数(100.5)が返ってきます。
DOLLARDE の逆変換(小数 → 分数表記)には DOLLARFR 関数 を使います。
DOLLARDE 関数の構文と引数
DOLLARDE 関数の構文は次のとおりです。
=DOLLARDE(分数表現ドル価格, 分母)
英語表記だと =DOLLARDE(fractional_price, fraction) となります。
| 引数 | 省略 | 説明 |
|---|---|---|
| 分数表現ドル価格(fractional_price) | 必須 | 整数部と分子を小数点で区切った数値(例: 100.16 は「100 + 16/分母」を意味する) |
| 分母(fraction) | 必須 | 分数の分母にあたる整数(1 以上。小数を指定した場合は切り捨てられる) |
引数はたった2つです。シンプルですが、小数点の右側は「小数」ではなく「分子」として扱われるという点に注意してください。
重要:小数点以下の読み方
DOLLARDE の一番の落とし穴は、引数の解釈です。
DOLLARDE(100.16, 32)→ 100 + 16/32 = 100.5DOLLARDE(100.16, 10)→ 100 + 16/10 = 101.6(同じ”100.16″でも分母が変わると結果が変わる)
小数点の右側の「16」は、小数の0.16ではなく、分子の「16」として扱われます。分母を間違えると計算結果が全く変わるので、使用する市場の単位(32nds・64nds・8thsなど)を確認してから指定してください。
DOLLARDE 関数の基本的な使い方
米国債の価格を変換する
割引率4%の米国債価格「99.16」を32分の1単位で小数に変換する場合です。
| セル | 項目 | 値 |
|---|---|---|
| B2 | 分数表記の価格 | 99.16 |
| B3 | 分母(32分の1単位) | 32 |
=DOLLARDE(B2, B3)
結果は 99.5 です。99 + 16/32 = 99.5 ですね。
値を直接入力するパターン
=DOLLARDE(100.16, 32) → 100.5
=DOLLARDE(1.05, 16) → 1.3125(= 1 + 5/16)
=DOLLARDE(50.04, 8) → 50.5(= 50 + 4/8)
計算の仕組みを確認してみよう
DOLLARDE の内部計算はシンプルです。
結果 = 整数部 + (小数点以下の数字 ÷ 分母)
| 入力 | 分母 | 計算式 | 結果 |
|---|---|---|---|
| 100.16 | 32 | 100 + 16/32 | 100.5 |
| 1.05 | 16 | 1 + 5/16 | 1.3125 |
| 50.04 | 8 | 50 + 4/8 | 50.5 |
| 99.24 | 32 | 99 + 24/32 | 99.75 |
DOLLARDE 関数の実践的な活用例
債券ポートフォリオの時価評価
複数の米国債を保有している場合、分数表記の価格を小数に変換してから合計金額を計算できます。
| 銘柄 | 分数表記価格 | 分母 | 数式 | 小数価格 |
|---|---|---|---|---|
| 米国債 A | 99.24 | 32 | =DOLLARDE(B2, C2) | 99.75 |
| 米国債 B | 101.16 | 32 | =DOLLARDE(B3, C3) | 101.5 |
| 米国債 C | 98.08 | 32 | =DOLLARDE(B4, C4) | 98.25 |
変換後の小数価格なら、SUM 関数でそのまま合計できます。
DOLLARFR との組み合わせ
DOLLARDE で変換した価格に利益を加算し、結果を DOLLARFR 関数 で分数表記に戻す組み合わせも実務でよく使います。
=DOLLARFR(DOLLARDE(100.16, 32) * 1.02, 32)
この数式は「分数表記の債券価格100.16を小数に変換→2%上乗せ→再び32分の1単位の分数表記に戻す」という計算をしていますよ。
TBILLPRICE と組み合わせた T-Bill の価格分析
T-Bill(米国財務省短期証券)の TBILLPRICE 関数 が返す小数の購入価格を、DOLLARFR で分数表記に変換することもできます。
=DOLLARFR(TBILLPRICE(DATE(2024,1,1), DATE(2024,7,1), 0.04), 32)
DOLLARFR 関数との使い分け
DOLLARDE と DOLLARFR は逆方向の変換を行います。
| 項目 | DOLLARDE | DOLLARFR |
|---|---|---|
| 変換方向 | 分数表記 → 小数 | 小数 → 分数表記 |
| 読み方 | ダラー デシマル | ダラー フラクション |
| 使いどころ | 分数価格を計算に使うとき | 計算結果を分数表記で報告するとき |
「計算するなら DOLLARDE、表示するなら DOLLARFR」と覚えておくと使い分けやすいですよ。
なお、DOLLAR 関数(通貨記号を付けて数値を文字列に変換する関数)は全く別の関数です。名前が似ているので混同しないように注意してください。
よくあるエラーと対処法
#NUM! エラー
分母に 0 以下の値を指定すると #NUM! エラーが出ます。
=DOLLARDE(1.05, 0) → #NUM! エラー
=DOLLARDE(1.05, -1) → #NUM! エラー
分母は必ず 1 以上の正の整数を指定してください。
#VALUE! エラー
引数に数値以外(文字列など)を指定すると #VALUE! エラーになります。
=DOLLARDE("abc", 16) → #VALUE! エラー
セル参照を使っている場合は、参照先のセルが数値形式になっているか確認してみてください。
分母に小数を指定した場合
分母に小数を指定しても、エラーにはなりません。ただし、小数部分は切り捨てられます。
=DOLLARDE(1.05, 16.9) → DOLLARDE(1.05, 16) と同じ結果
意図しない計算になる可能性があるので、分母には整数を指定するようにしましょう。
Excel との互換性
DOLLARDE 関数は、Excel 2007 以降・Google スプレッドシート・LibreOffice Calc で同じ計算結果を返します。Excel ファイル(.xlsx)をスプレッドシートで開いてもそのまま動作しますよ。
ただし、Excel 2003 以前では「分析ツール」アドインの追加が必要でした。現在は標準搭載されているので、特別な設定は不要です。
まとめ
スプレッドシートの DOLLARDE 関数は、米国債券などで使われる分数表記の価格を小数に変換する財務関数です。ポイントをまとめておきます。
- 引数は 分数表現ドル価格・分母 の2つだけ
- 小数点以下は「小数」ではなく「分子」として扱われる(例: 100.16 の .16 は 16/分母)
- 分母には 1 以上の整数を指定(0 以下は
#NUM!エラー) - 逆変換(小数 → 分数表記)には DOLLARFR 関数 を使う
- Excel・LibreOffice Calc との互換性があり、.xlsx ファイルをそのまま開いても動作する
日本の実務で使う場面は限られますが、米国市場のデータや外債を扱うときには欠かせない関数です。セットで DOLLARFR 関数 も覚えておくと、分数表記と小数の変換が自在にできるようになりますよ。
