「スプレッドシートで計算した結果は100.5ドルなのに、レポートには”100.16″と書かないといけない…」——米国債券を扱う実務でこんな場面に遭遇したことはありませんか。
DOLLARFR 関数はこの変換を自動でやってくれます。小数の価格を入力するだけで、米国債券市場で使われる分数表記の価格をすぐに返してくれますよ。
この記事では、スプレッドシートの DOLLARFR 関数の使い方を、構文・計算例・よくあるエラーの対処まで同僚に教える感覚で解説します。DOLLARDE 関数との使い分けも整理しているので、米国市場のデータを扱う経理・財務の実務にぜひ活用してください。
スプレッドシートの DOLLARFR 関数とは?
スプレッドシートの DOLLARFR 関数は、小数(デシマル)のドル価格を、分数表記に変換する財務関数です。
関数名の DOLLARFR は “Dollar Fraction”(ドル・分数)の略で、DOLLAR+FR(Fraction)が語源です。読み方は「ダラー フラクション」です。
分数表記とは何か
米国の債券市場(特に国債・モーゲージ証券)では、価格を「整数部+分数部」で表す慣習があります。よく使われる単位は 32分の1(32nds) です。
たとえば「100.5ドル」を32分の1単位の分数表記に変換すると、「100.16」となります。これは「100 + 16/32 = 100.5」を意味しています。
DOLLARFR はこの「小数 → 分数表記」の変換を行います。逆の「分数表記 → 小数」変換には DOLLARDE 関数 を使います。
DOLLARFR 関数の構文と引数
DOLLARFR 関数の構文は次のとおりです。
=DOLLARFR(小数ドル価格, 分母)
英語表記だと =DOLLARFR(decimal_dollar, fraction) となります。
| 引数 | 省略 | 説明 |
|---|---|---|
| 小数ドル価格(decimal_dollar) | 必須 | 変換したい小数の価格(例: 100.5) |
| 分母(fraction) | 必須 | 分数の分母にあたる整数(1 以上。小数を指定した場合は切り捨てられる) |
引数は2つです。結果の小数点以下は「小数」ではなく「分子」を表すという点に注意してください。
重要:結果の読み方
DOLLARFR の結果は一見わかりにくいです。
DOLLARFR(100.5, 32)→ 100.16(= 100 + 16/32)DOLLARFR(100.5, 16)→ 100.08(= 100 + 8/16)
返ってきた「100.16」の小数点以下「16」は、小数の0.16ではなく、「分子16」を表しています。表示用の特殊な表記フォーマットなので、そのままでは通常の計算には使えません。計算に戻すときは DOLLARDE 関数 で小数に変換してください。
DOLLARFR 関数の基本的な使い方
小数価格を32分の1単位の分数表記に変換する
99.75 ドルを 32分の1単位の分数表記に変換する場合です。
| セル | 項目 | 値 |
|---|---|---|
| B2 | 小数の価格 | 99.75 |
| B3 | 分母(32分の1単位) | 32 |
=DOLLARFR(B2, B3)
結果は 99.24 です。99 + 24/32 = 99.75 を確認してみてください。
値を直接入力するパターン
=DOLLARFR(100.5, 32) → 100.16(= 100 + 16/32)
=DOLLARFR(1.3125, 16) → 1.05(= 1 + 5/16)
=DOLLARFR(50.5, 8) → 50.04(= 50 + 4/8)
計算の仕組みを確認してみよう
DOLLARFR の内部計算は次の手順です。
① 小数部分 × 分母 = 分子
② 整数部 + 分子(小数点以下に配置)= 結果
| 入力(小数) | 分母 | 計算式 | 結果(分数表記) |
|---|---|---|---|
| 100.5 | 32 | 0.5 × 32 = 16 → 100.16 | 100.16 |
| 99.75 | 32 | 0.75 × 32 = 24 → 99.24 | 99.24 |
| 1.3125 | 16 | 0.3125 × 16 = 5 → 1.05 | 1.05 |
| 50.5 | 8 | 0.5 × 8 = 4 → 50.04 | 50.04 |
DOLLARFR 関数の実践的な活用例
債券レポート用の価格表示
スプレッドシートで計算した小数の債券価格を、レポート・報告書用に分数表記に変換します。
| 銘柄 | 計算済み小数価格 | 数式 | 分数表記(32nds) |
|---|---|---|---|
| 米国債 A | 99.75 | =DOLLARFR(B2, 32) | 99.24 |
| 米国債 B | 101.5 | =DOLLARFR(B3, 32) | 101.16 |
| 米国債 C | 98.25 | =DOLLARFR(B4, 32) | 98.08 |
この表をそのまま報告書に貼り付ければ、手作業での変換が不要になりますよ。
DOLLARDE との組み合わせ
DOLLARDE 関数 で小数に変換→計算→DOLLARFR で分数表記に戻すという組み合わせが実務でよく使われます。
=DOLLARFR(DOLLARDE(100.16, 32) * 1.02, 32)
この数式は「分数表記100.16 → 小数100.5 → 2%上乗せ102.51 → 分数表記102.16」という計算をしていますよ。
TBILLPRICE で求めた価格を分数表記に変換
TBILLPRICE 関数 が返す小数の購入価格を DOLLARFR で分数表記に変換する例です。
=DOLLARFR(TBILLPRICE(DATE(2024,1,1), DATE(2024,7,1), 0.04), 32)
DOLLARDE 関数との使い分け
DOLLARFR と DOLLARDE は逆方向の変換を行います。
| 項目 | DOLLARDE | DOLLARFR |
|---|---|---|
| 変換方向 | 分数表記 → 小数 | 小数 → 分数表記 |
| 読み方 | ダラー デシマル | ダラー フラクション |
| 使いどころ | 分数価格を計算に使うとき | 計算結果を分数表記で報告するとき |
「計算するなら DOLLARDE、表示するなら DOLLARFR」と覚えておくと使い分けやすいですよ。
よくあるエラーと対処法
#NUM! エラー
分母に 0 以下の値を指定すると #NUM! エラーが出ます。
=DOLLARFR(100.5, 0) → #NUM! エラー
=DOLLARFR(100.5, -1) → #NUM! エラー
分母は必ず 1 以上の正の整数を指定してください。
#VALUE! エラー
引数に数値以外(文字列など)を指定すると #VALUE! エラーになります。
=DOLLARFR("abc", 32) → #VALUE! エラー
セル参照を使っている場合は、参照先のセルが数値形式になっているか確認してみてください。
分母に小数を指定した場合
分母に小数を指定しても、エラーにはなりません。ただし、小数部分は切り捨てられます。
=DOLLARFR(100.5, 32.9) → DOLLARFR(100.5, 32) と同じ結果
意図しない計算になる可能性があるので、分母には整数を指定するようにしましょう。
結果が0.00になる場合
変換後の分子がちょうど0になる場合、小数点以下が「.00」と表示されます。
=DOLLARFR(100, 32) → 100.00(= 100 + 0/32、整数値そのもの)
これはエラーではなく正常な動作です。
Excel との互換性
DOLLARFR 関数は、Excel 2007 以降・Google スプレッドシート・LibreOffice Calc で同じ計算結果を返します。Excel ファイル(.xlsx)をスプレッドシートで開いてもそのまま動作しますよ。
まとめ
スプレッドシートの DOLLARFR 関数は、小数のドル価格を米国債券市場で使われる分数表記に変換する財務関数です。ポイントをまとめておきます。
- 引数は 小数ドル価格・分母 の2つだけ
- 結果の小数点以下は「小数」ではなく「分子」を表す(例: 100.16 の .16 は 16/分母)
- 分母には 1 以上の整数を指定(0 以下は
#NUM!エラー) - 逆変換(分数表記 → 小数)には DOLLARDE 関数 を使う
- Excel・LibreOffice Calc との互換性があり、.xlsx ファイルをそのまま開いても動作する
日本の実務で使う場面は限られますが、米国市場のデータや外債を扱うときには欠かせない関数です。DOLLARDE 関数 とセットで覚えておくと、分数表記と小数の変換が自在にできるようになりますよ。
