Home » Excel(エクセル)の関数・数式の使い方 » 文字列 » 小数点記号と桁区切り記号とを入れ替える−SUBSTITUTE・FIXED・ROUNDDOWN・RIGHT

小数点記号と桁区切り記号とを入れ替える−SUBSTITUTE・FIXED・ROUNDDOWN・RIGHT

対象:Excel97, Excel2000, Excel2002, Excel2003, Excel2007

[オプション]ダイアログ−[インターナショナル]タブ−[数値の表示方法]欄で設定すれば、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)」
という数式がそれぞれ入力してありますのでご確認ください。

[スポンサードリンク]

Home » Excel(エクセル)の関数・数式の使い方 » 文字列 » 小数点記号と桁区切り記号とを入れ替える−SUBSTITUTE・FIXED・ROUNDDOWN・RIGHT

「文字列」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.