ExcelのDOLLARDE関数の使い方|分数ドル価格を小数に変換する方法

スポンサーリンク

「債券価格が”100.16″って書いてあるけど、これ100.16ドルじゃないの?」

米国債券や不動産の世界では、価格を分数で表す独特の慣習があります。”100.16″は実は「100と16/32」、つまり100.5ドルという意味なんです。この表記をそのまま計算に使うと、金額がズレてしまいますよね。

ExcelのDOLLARDE関数を使えば、分数表記の価格をふつうの小数にサッと変換できます。この記事では、基本の書き方からDOLLARFR関数との使い分け、債券ポートフォリオの実務例、エラー対処法まで一気に解説していきます。

ExcelのDOLLARDE関数とは?

DOLLARDE関数は、分数表記のドル価格を小数表記に変換する関数です。読み方は「ダラー デシマル」で、DOLLAR(ドル)+ DE(Decimal=小数)が語源です。

たとえば、米国の債券市場では価格を32分の1単位で表します。「100.16」と書かれていたら「100 + 16/32 = 100.5」ドルという意味です。DOLLARDE関数はこの変換を自動でやってくれますよ。

対応バージョンはExcel 2007以降およびMicrosoft 365です。Excel 2003以前では分析ツールアドインの追加が必要になります。Googleスプレッドシートでも同名のDOLLARDE関数が使えるので、移行作業でもそのまま流用できます。

なぜ分数表記が使われているのか

「最初から小数で書けばいいじゃん」と思いますよね。これは歴史的な事情で、米国の証券市場では長らくスペイン由来の8分の1単位(pieces of eight)で価格を表してきた名残なんです。

特に米国債(Treasury Bond)は今でも32分の1単位、さらに細かい銘柄では64分の1や128分の1単位で取引されています。ブルームバーグやロイターの端末で表示される価格も、この分数表記が標準です。海外金融機関とのやり取りで価格データを受け取るとき、DOLLARDE関数が活躍します。

DOLLARDE関数の書き方と引数

基本構文

=DOLLARDE(分数表現ドル価格, 分母)

引数の説明

引数必須/省略可説明
分数表現ドル価格必須整数部と分子を小数点で区切った数値
分母必須分数の分母にあたる整数(1以上)

引数はたった2つなので、シンプルですね。

「分数表現ドル価格」の読み方

この引数の仕組みがDOLLARDE関数の一番大事なポイントです。

たとえば「1.05」を指定した場合、整数部が「1」、小数点以下の「05」が分子になります。分母に「16」を指定すると、1 + 5/16 = 1.3125 という計算です。

つまり「小数点の右側は小数ではなく、分子として扱われる」ということです。ここを間違えると計算結果がまったく変わってしまうので、注意してくださいね。

分子の桁数と分母の関係

地味につまずくのが「分子の桁数」の扱いです。分母が2桁の場合(16や32など)、分子も2桁で書く必要があります。

たとえば32分の1単位で「100と4/32」を表現したいとき、100.4 と書くと「100 + 4/32」ではなく 「100 + 40/32」 と解釈されてしまいます。正しくは 100.04 のように2桁で書いてください。

入力分母解釈される分子結果
100.43240101.25(100 + 40/32)
100.04324100.125(100 + 4/32)

桁合わせを意識しないと、債券の価格評価で大きなズレが生じます。データ取り込み時に小数点以下の桁数をそろえておくのが安全です。

DOLLARDE関数の基本的な使い方

実際にDOLLARDE関数を使ってみましょう。

値を直接入力するパターン

米国債券の価格「100.16」を32分の1単位で小数に変換する場合です。

=DOLLARDE(100.16, 32)

結果は 100.5 になります。100 + 16/32 = 100.5 ですね。

セル参照を使うパターン

セルA1に分数表現の価格、セルB1に分母が入っている場合はこう書きます。

=DOLLARDE(A1, B1)

複数の債券価格を一括変換したいときは、この書き方のほうが便利ですよ。分母が常に32など決まっているなら、=DOLLARDE(A1, 32) のように直接書いてしまってもOKです。

計算の仕組みを確認してみよう

DOLLARDE関数の内部計算はとてもシンプルです。

入力分母計算式結果
1.05161 + 5/161.3125
100.1632100 + 16/32100.5
50.04850 + 4/850.5
1.141 + 1/41.25
99.313299 + 31/3299.96875

整数部はそのまま、小数点以下の数字を分母で割って足す。これだけです。

マイナスの価格を渡したとき

オプションのデルタ計算など、たまにマイナス値を扱う場面もあります。

=DOLLARDE(-100.16, 32)

結果は -100.5 で、整数部・分子ともに符号が反転して計算されます。スプレッド計算でマイナス値が出ても、そのまま渡せば期待どおりの結果になりますよ。

DOLLARDE関数の実践的な活用例

債券ポートフォリオの時価評価

複数の米国債券を保有している場合、分数表記の価格を小数に変換してから合計金額を計算できます。

銘柄分数表記価格分母数式小数価格額面時価(額面×小数価格÷100)
米国債A99.2432=DOLLARDE(B2,C2)99.751,000,000997,500
米国債B101.1632=DOLLARDE(B3,C3)101.5500,000507,500
米国債C98.0832=DOLLARDE(B4,C4)98.252,000,0001,965,000

変換後の小数価格なら、SUM関数でそのまま合計できます。額面と組み合わせれば、ポートフォリオ全体の時価評価額もすぐに出せます。

不動産価格の換算

米国の不動産市場では、8分の1単位で価格を表す場合があります。

=DOLLARDE(250.06, 8)

結果は 250.75 です。250 + 6/8 = 250.75 ですね。分母を変えるだけで、さまざまな分数単位に対応できますよ。

コモディティ価格の小数変換

コーンや小麦などの先物価格は、4分の1単位(クォーター単位)で表示されるのが慣例です。

=DOLLARDE(450.02, 4)

結果は 450.5 で、450 + 2/4 = 450.5 ドル/ブッシェルという計算になります。シカゴ商品取引所(CBOT)のデータを取り込むときに重宝します。

為替損益と組み合わせる

円換算する場合は、為替レートを掛けるだけです。

=DOLLARDE(B2, 32) * 額面 / 100 * 為替レート

複数銘柄をまとめて評価するときは、SUMPRODUCT関数額面 × 小数価格 × 為替レート を一気に集計できますよ。

DOLLARFR関数との組み合わせ

DOLLARDE関数で変換した値を計算し、結果をDOLLARFR関数で分数表記に戻すこともできます。

=DOLLARFR(DOLLARDE(100.16, 32) * 1.02, 32)

この数式は、債券価格100.16(32分の1単位)を小数に変換して2%上乗せし、再び32分の1単位の分数表記に戻しています。レポート上では分数表記のほうが読みやすいので、計算は小数で・表示は分数で、という使い分けが定番です。

DOLLARDE関数とDOLLARFR関数の使い分け

DOLLARDE関数とよく似た関数にDOLLARFR関数があります。この2つはちょうど逆の変換を行うペア関数です。実務ではセットで使うことがほとんどなので、両方の役割をしっかり押さえておきましょう。

比較表で違いを整理

項目DOLLARDEDOLLARFR
変換方向分数表記 → 小数小数 → 分数表記
読み方ダラー デシマルダラー フラクション
入力例=DOLLARDE(100.16, 32)=DOLLARFR(100.5, 32)
結果例100.5100.16
使いどころ分数価格を計算に使うとき計算結果を分数表記に戻すとき

実務での使い分けパターン

債券の評価業務を例にすると、典型的な流れはこうなります。

  1. 取引データを受領(分数表記) → DOLLARDE関数で小数に変換
  2. 利回り計算・損益計算を実施(小数のまま処理)
  3. レポート出力時に分数表記に戻したい → DOLLARFR関数で逆変換

「計算するならDOLLARDE、表示するならDOLLARFR」と覚えておくと使い分けやすいですよ。

同じ値を変換した結果を比較

=DOLLARDE(100.16, 32)   → 100.5
=DOLLARFR(100.5, 32)    → 100.16
=DOLLARDE(100.5, 32)    → 101.5625(誤用例)

3行目のように、すでに小数になっている価格をDOLLARDEに渡すと「100 + 50/32」と解釈されておかしな結果になります。入力データが分数表記か小数かを必ず確認してから関数を選びましょう。

なお、数値の表示形式を変えるDOLLAR関数は通貨記号を付ける関数で、まったく別の機能です。名前が似ているので混同しないようにしましょう。

DOLLARDE関数のよくあるエラーと対処法

#NUM! エラー

分母に0以下の値を指定すると #NUM! エラーが出ます。

=DOLLARDE(1.05, 0)   → #NUM! エラー
=DOLLARDE(1.05, -1)  → #NUM! エラー

分母は必ず1以上の正の整数を指定してください。CSVから取り込んだデータで分母列が空欄になっていると0扱いになってエラーが出るので、IFERROR関数でラップしておくと安全です。

=IFERROR(DOLLARDE(A1, B1), "分母エラー")

#VALUE! エラー

引数に数値以外(文字列など)を指定すると #VALUE! エラーになります。

=DOLLARDE("abc", 16)  → #VALUE! エラー
=DOLLARDE("100.16", 32) → 環境により #VALUE! になることあり

セル参照を使っている場合は、参照先が数値になっているか確認してみてください。CSVや外部システムから取り込んだ価格データは見た目が数値でも文字列扱いになっていることがあるので、VALUE関数で明示的に数値化してから渡すと確実です。

分母に小数を指定した場合

分母に小数を指定すると、小数部分が切り捨てられます。

=DOLLARDE(1.05, 16.9)  → DOLLARDE(1.05, 16) と同じ結果

エラーにはなりませんが、意図しない計算になることがあります。分母には整数を指定するようにしましょう。心配な場合はINT関数で囲んで明示的に整数化するのもアリです。

結果がおかしい場合のチェックポイント

「変換結果が思っていた値と違う…」というときは、以下を順番に確認してみてください。

  1. 小数点以下の桁数が分母に合っているか(32なら2桁、128なら3桁)
  2. 分母が正しい単位か(米国債なら32、不動産なら8、農産物先物なら4が多い)
  3. 入力値がすでに小数表記になっていないか(DOLLARDEは分数表記専用)
  4. CSVデータの場合、価格が文字列として読み込まれていないか

特に1番目の桁ズレは結果が見た目には正しく見えてしまうので、検算が必須です。サンプルを1〜2件、電卓で確認するのが確実ですよ。

まとめ

DOLLARDE関数は、分数表記のドル価格を小数に変換する関数です。

  • 構文は =DOLLARDE(分数表現ドル価格, 分母) の2つだけ
  • 小数点の右側は「小数」ではなく「分子」として扱われる
  • 分母の桁数に合わせて分子の桁数(小数点以下)をそろえる必要がある
  • 米国債券(32分の1)・不動産(8分の1)・農産物先物(4分の1)の価格換算に便利
  • 逆変換にはDOLLARFR関数を使い、計算は小数・表示は分数で運用する
  • 分母には1以上の整数を指定すること(0以下は #NUM! エラー)
  • 文字列が混在するデータはIFERROR関数でガードすると安全

日本国内の実務で使う場面は限られますが、米国市場のデータを扱うときには欠かせない関数です。セットでDOLLARFR関数も覚えておくと、分数表記と小数の変換が自在にできるようになりますよ。

タイトルとURLをコピーしました