[オプション]ダイアログ−[インターナショナル]タブ−[数値の表示方法]欄で設定すれば、Windowsの設定に関わらず小数点をカンマ、桁区切り記号をピリオドといった表示にできること、FIXED関数とSUBSTITUTE関数を使うことで桁区切り記号をピリオドにできることをご紹介してきました。
[オプション]ダイアログで設定変更をするのではない方法で、小数点記号と桁区切り記号を入れ替えたい、小数点をカンマ・桁区切り記号をピリオドにしたいという要望をいただくこともあります。
ちょっと長ったらしい数式になってしまいますが、
SUBSTITUTE関数
FIXED関数
ROUNDDOWN関数
RIGHT関数
を組み合わせると、小数点記号と桁区切り記号とを入れ替えて、小数点を「,」(カンマ)、桁区切り記号を「.」(ピリオド・ドット)にすることができます。
※小数点以下が2桁に固定されているA1セルに入力された数値の、小数点記号をカンマに桁区切り記号をドットにしてA2セルに表示する例
A2セルに
「=SUBSTITUTE(FIXED(ROUNDDOWN(A1,0),0),",",".") & "," & RIGHT(FIXED(A1,2),2)」
という計算式を入力する
前半の
「SUBSTITUTE(FIXED(ROUNDDOWN(A1,0),0),",",".")」
が整数部分の表示を行っている箇所です。
元の数値の小数点以下をROUNDDOWN関数を切り捨ててから、FIXED関数で桁区切り記号を入れて文字列化して、その桁区切り記号をSUBSTITUTE関数で「.」(ピリオド)にしています。
後半の
「RIGHT(FIXED(A1,2),2)」
が小数部分です。
元の数値を小数点以下2桁まで変換する処理をFIXED関数で行ってから、RIGHT関数を使って右から2桁を取り出しています。
上記の整数部と小数部とを
「 & "," &」
と間に「,」(カンマ)を入れてつないでいます。この「,」が小数点に該当します。
この小数点記号と桁区切り記号を入れ替える方法を
「=SUBSTITUTE(FIXED(A1,0),",",".") & "," & RIGHT(FIXED(A1,2),2)」
といった数式でご紹介しているサイトを見かけることもありますが、これではダメです。
「SUBSTITUTE(FIXED(A1,0),",",".")」
では、元の数値が小数点以下を四捨五入して文字列化してしまうためです。
▼サンプルファイル(003313.xls 31KByte)ダウンロード
サンプルファイルの、
A2セルに正しく表示される
「=SUBSTITUTE(FIXED(ROUNDDOWN(A1,0),0),",",".") & "," & RIGHT(FIXED(A1,2),2)」
B2セルには正しく表示されない
「=SUBSTITUTE(FIXED(A1,0),",",".") & "," & RIGHT(FIXED(A1,2),2)」
という数式がそれぞれ入力してありますのでご確認ください。
- Newer:同じ文字を繰り返す書式記号は?−アスタリスク
- Older:×絶対座標、○絶対参照
Home » Excel(エクセル)の関数・数式の使い方 » 文字列 » 小数点記号と桁区切り記号とを入れ替える−SUBSTITUTE・FIXED・ROUNDDOWN・RIGHT