フロントの人の雑多メモ

エクセル・スプレッドシートで「0,000円」形式の文字列を数値に変換する方法

エクセル・スプレッドシートで「0,000円」形式の文字列を数値に変換する方法

エクセルやスプレッドシートで、以下のようなとき、合計は出せません

エクセル・スプレッドシートで「0,000円」形式の文字列を数値に変換する方法

なぜなら「12,000円」などの値は、数値ではなく文字列と判断されているからです。

「東京都 + 北海道 = ?」と言っているようなものです。

なので「12,000円」などを関数を使って数値に変換してあげる必要があります。

スプレッドシートの例で話していきます。

エクセルとスプレッドシートで若干異なるところがありますが、随時説明していきます。

目次

結論

スプレッドシートの場合

置き換えをする「REGEXREPLACE()」関数と

数値に変換する「VALUE()」関数を組み合わせて、次のようにします。

=VALUE(REGEXREPLACE(B2,"[^0-9]",""))

B2」の部分は適宜変更してください。

正規表現を使って半角数字以外を消し、それを数値に変換しています。

するとこのように「12,000円」が「12000」という数値に変わりました。

REGEXREPLACE関数とVALUE関数

合計も出せました。

REGEXREPLACE関数とVALUE関数

エクセルの場合

エクセルには「REGEXREPLACE()」関数は無いので
SUBSTITUTE()」関数で「円」と「,」を消し、VALUE()で数値に変換します。

=VALUE(SUBSTITUTE(SUBSTITUTE(B2,"円",""),",",""))

B2」の部分は適宜変更してください。

エクセルで文字列を数値に変換

全角数字の場合

このような場合を考えます。

全角数字を数値に変換

ASC()」関数で全角を半角に変えてから処理します。

=VALUE(REGEXREPLACE(ASC(B2),"[^0-9]",""))

B2」の部分は適宜変更してください。

数値に変わり、合計も出せました。

エクセルの場合

全角でも半角でも、先ほどの関数で大丈夫です。

=VALUE(SUBSTITUTE(SUBSTITUTE(B2,"円",""),",",""))

コメント

「私の環境では違った!」などありましたらお気軽にコメントください。

内容を確認の上、個人情報などは省いて掲載させていただきます。

お名前・メールアドレスも入力する

メールで返信がほしい場合に入力してください。

頂いた個人情報は開示しません。返信のためだけに利用いたします。

直接送信されます。確認の上、「送信」してください。

お役に立てましたら応援をお待ちしております!
頂いた応援は子育てに活用させていただきます。

OFUSEで応援を送る


または以下のボタンからなにか買って応援 (PR)

Amazon

楽天市場

Yahoo!ショッピング

Amazonのアソシエイトとして「けん」は適格販売により収入を得ています。

シェア

Twitterでシェア Facebookでシェア LINEでシェア はてなブックマークでシェア

お役に立てましたら応援をお待ちしております!
頂いた応援は子育てに活用させていただきます。

OFUSEで応援を送る