「1,234,567」のように桁区切りを付けた数値を、レポートや帳票に埋め込みたい。でも通貨記号は不要なこともありますよね。
GoogleスプレッドシートのFIXED関数なら、数値を固定小数点の文字列に変換できます。桁区切りカンマの有無もコントロールできるのがポイントです。
この記事では、FIXED関数の基本から実務での活用パターン、似た関数との使い分けまでまとめて解説します。
スプレッドシートのFIXED関数とは?基本構文と動作
読み方と語源
FIXED関数(読み方: フィクスド関数)は、数値を固定小数点の文字列に変換する関数です。
英語の「Fixed-point(固定小数点)」に由来します。指定した小数桁数で数値を丸め、桁区切りカンマ付きの文字列を返します。
DOLLAR関数と似ていますが、FIXED関数は通貨記号が付きません。「¥」や「$」が不要で、数値だけを見やすく整形したいときに使います。
構文と引数
=FIXED(数値, [小数点以下の桁数], [桁区切りの省略])
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 数値 | 必須 | 文字列に変換したい数値またはセル参照 |
| 小数点以下の桁数 | 任意 | 小数点以下に表示する桁数(省略時は2) |
| 桁区切りの省略 | 任意 | TRUE = カンマなし / FALSE = カンマあり(省略時はFALSE) |
引数は最大3つです。「どの数値を」「小数何桁で」「カンマを付けるか」を指定します。第3引数でカンマの有無を切り替えられるのが、FIXED関数ならではの機能です。
基本的な書き方の例
まずは一番シンプルな例です。
=FIXED(1234)
結果は「1,234.00」です。桁区切りのカンマが付き、小数点以下2桁が表示されます。
第2引数を指定してみましょう。
=FIXED(1234, 0)
結果は「1,234」です。小数点以下が不要なときは「0」を指定すればスッキリした見た目になります。
FIXED関数の戻り値は文字列です。見た目は数値でも中身は文字列になります。この点は後ほど詳しく説明しますね。
FIXED関数の基本的な使い方
整数を桁区切り付き文字列に変換する
もっとも多い使い方は、大きな数値に桁区切りを付けて読みやすくするパターンです。
=FIXED(1500000, 0)
結果は「1,500,000」です。第2引数に「0」を指定すると小数部分が消えます。
セル参照を使う書き方も見てみましょう。A1セルに「50000」と入っている場合です。
=FIXED(A1, 0)
結果は「50,000」になります。
小数点以下の桁数を指定する
第2引数で小数点以下の桁数をコントロールできます。
| 数式 | 結果 |
|---|---|
| =FIXED(1234.567) | 1,234.57 |
| =FIXED(1234.567, 0) | 1,235 |
| =FIXED(1234.567, 1) | 1,234.6 |
| =FIXED(1234.567, 3) | 1,234.567 |
桁数を省略すると小数2桁がデフォルトです。指定した桁数に満たない場合はゼロで埋められます。
=FIXED(100, 2)
結果は「100.00」です。端数が存在しなくても2桁分のゼロが表示されます。
桁数が指定桁を超える場合は、ROUND関数と同じ四捨五入のルールで丸められますよ。
負の桁数で大きな位を丸める
あまり知られていませんが、第2引数には負の値も指定できます。
=FIXED(1234567, -3)
結果は「1,235,000」です。下3桁(千の位未満)が四捨五入されました。
| 数式 | 結果 | 丸めの単位 |
|---|---|---|
| =FIXED(1234567, -1) | 1,234,570 | 十の位で丸め |
| =FIXED(1234567, -2) | 1,234,600 | 百の位で丸め |
| =FIXED(1234567, -3) | 1,235,000 | 千の位で丸め |
概算値を出したいときに便利です。「千円単位に丸めた数値を表示したい」といった場面で使えます。
桁区切りカンマを省略する(第3引数)
FIXED関数ならではの機能が、第3引数によるカンマの制御です。
=FIXED(1234567, 0, TRUE)
結果は「1234567」です。カンマなしの文字列になります。
=FIXED(1234567, 0, FALSE)
結果は「1,234,567」です。カンマ付きの文字列です。第3引数を省略した場合もFALSEと同じ動作になります。
| 数式 | 結果 | カンマ |
|---|---|---|
| =FIXED(1234567, 0) | 1,234,567 | あり(デフォルト) |
| =FIXED(1234567, 0, FALSE) | 1,234,567 | あり |
| =FIXED(1234567, 0, TRUE) | 1234567 | なし |
CSVやシステム連携用にカンマなしの数値文字列が必要な場面で重宝します。
FIXED関数の実務活用パターン
文字列連結で数値を見やすく埋め込む
FIXED関数が活躍するのは、数値を文章の中に埋め込む場面です。
="在庫数は" & FIXED(B1, 0) & "個です。"
B1が「1500000」なら、結果は「在庫数は1,500,000個です。」になります。
FIXED関数を使わずに直接結合するとどうなるでしょうか。
="在庫数は" & B1 & "個です。"
結果は「在庫数は1500000個です。」です。桁区切りがない読みづらい文になってしまいます。
通貨記号が不要な場面ではFIXED関数の出番です。個数・人数・距離など、金額以外の数値を文章に埋め込むときに便利ですよ。
帳票の数値表示を統一する
帳票やレポートで小数桁数を揃えたいことがあります。
=FIXED(B2, 2)
「1234」なら「1,234.00」、「1234.5」なら「1,234.50」のように、すべて小数2桁に統一されます。
単価や単位あたりの数値を表示する場面で、見た目が揃って読みやすくなります。
CSVやシステム連携用にカンマなし文字列を作る
外部システムに渡すデータでは、カンマなしの数値文字列が求められることがあります。
=FIXED(A1, 2, TRUE)
A1が「1234.5」なら、結果は「1234.50」です。カンマなし・小数2桁固定の文字列になります。
第3引数をTRUEにするだけで、システム連携用のフォーマットに変換できます。
FIXED関数・DOLLAR関数・TEXT関数の違いと使い分け
数値を文字列に変換する関数は、FIXED関数だけではありません。DOLLAR関数やTEXT関数も似た機能を持っています。
3関数の比較表
| 項目 | FIXED関数 | DOLLAR関数 | TEXT関数 |
|---|---|---|---|
| 構文 | FIXED(数値, 桁数, カンマ省略) | DOLLAR(数値, 桁数) | TEXT(数値, 書式コード) |
| 通貨記号 | 付かない | 自動で付く | 書式コードで指定 |
| 桁区切りカンマ | デフォルト付く(第3引数で制御) | 自動で付く | 書式コードで指定 |
| カンマの制御 | 第3引数で可能 | 不可 | 書式コードで可能 |
| 書式の自由度 | 低い(桁数とカンマのみ) | 低い(通貨専用) | 高い(書式コードで自在) |
| 戻り値 | 文字列 | 文字列 | 文字列 |
3つとも戻り値は文字列です。違いは「通貨記号の有無」と「カンマの制御」です。
どの関数を選ぶべきか
使い分けのポイントを整理しましょう。
通貨記号なしで桁区切りだけ付けたい → FIXED関数
個数・人数・距離など、金額以外の数値を整形するならFIXED関数が最適です。
=FIXED(1234567, 0)
結果は「1,234,567」です。
通貨記号(¥ や $)付きで手軽に変換したい → DOLLAR関数
引数が少なくシンプルです。金額を通貨表示にしたいならDOLLAR関数を選びましょう。
=DOLLAR(1234567, 0)
結果は「¥1,234,567」です。
日付変換やパーセント表示など自由な書式が必要 → TEXT関数
TEXT関数は書式コードを自分で指定するため、あらゆる変換に対応します。
=TEXT(1234567, "#,##0")
結果は「1,234,567」です。FIXED関数と同じ出力が得られます。
TEXT関数は万能ですが、書式コードを覚える必要があります。桁区切りだけならFIXED関数のほうがシンプルに書けますよ。
よくあるエラーと対処法
FIXED関数の結果でSUM計算ができない
FIXED関数を使い始めてよくある失敗がこれです。
=FIXED(100, 0) → "100"(文字列)
=FIXED(200, 0) → "200"(文字列)
この2つのセルをSUM関数で合計すると「0」になります。文字列は計算関数に無視されるからです。
FIXED関数は「表示用の整形」に使う関数です。計算に使うセルにはFIXED関数を適用しないでください。
実務では「計算用セル」と「表示用セル」を分けるのがおすすめです。元データは数値のまま残し、表示が必要な場所だけFIXED関数を使いましょう。
VALUE関数で数値に戻す方法
どうしてもFIXED関数の結果を数値に戻したいときは、VALUE関数を使います。
=VALUE(FIXED(1500, 0))
結果は「1500」(数値)です。カンマが除去されて数値に戻ります。
ただし「数値→文字列→数値」の往復変換になります。最初から数値のまま計算して、最後の表示だけFIXED関数で整形するほうがスマートですよ。
引数に文字列を渡すと#VALUE!エラーになる
FIXED関数の第1引数には数値を指定する必要があります。
=FIXED("abc", 0)
この場合は「#VALUE!」エラーが表示されます。セル参照を使う場合は、参照先が数値であることを確認してください。
数値かどうか不安なときは、ISNUMBER関数で事前にチェックできます。
=IF(ISNUMBER(A1), FIXED(A1, 0), "数値を入力してください")
数値のときだけFIXED関数を適用し、文字列のときはメッセージを表示する安全な書き方です。
まとめ
FIXED関数は、数値を固定小数点の文字列に変換する関数です。
ポイントを整理します。
- 構文は
=FIXED(数値, 桁数, カンマ省略)の最大3引数。桁数は省略するとデフォルト2 - 桁区切りカンマはデフォルトで付く。第3引数にTRUEを指定すると省略できる
- 通貨記号は付かない。金額以外の数値整形に向いている
- 負の桁数を指定すると大きな位で四捨五入できる
- 戻り値は文字列。計算に使うセルには適用しない
- 通貨表示が必要ならDOLLAR関数、書式の自由度が必要ならTEXT関数を選ぶ
まずは =FIXED(A1, 0) でセルの数値に桁区切りを付けるところから試してみてください。
