スプレッドシートで「1,000円」などの文字列から数値だけを取り出す方法

Last Updated on 2025年8月3日

Googleスプレッドシートで「1,000円」や「合計:3,500円」などの文字列データから、数値のみを抽出して計算に使いたいと感じたことはありませんか?本記事では、そんなときに便利なテクニックを、初心者でも分かるよう丁寧に解説します。

目次

なぜ数値に変換できないのか?

スプレッドシートでは、見た目が数字でも文字列扱いになっていることがあります。たとえば "1,000円" のように通貨記号やカンマが含まれる場合、

=VALUE("1,000円")

はエラーになります。

基本のやり方:SUBSTITUTE + VALUE 関数

不要な文字を削除した上で、VALUE関数を使うのがポイントです。

たとえば「1,000円」というデータがセル A2 にある場合、以下のようにします:

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

ポイント:
1. 「円」を空文字に置換
2. カンマも空文字に置換
3. 最後にVALUEで数値変換

ステップバイステップで実践

  1. セル A21,000円 と入力
  2. セル B2 に以下の数式を入力:
    =VALUE(SUBSTITUTE(SUBSTITUTE(A2,"円",""),",",""))
  3. 結果として 1000(数値)が表示されれば成功です。
  4. SUBSTITUTE

応用編:複数の不要文字が含まれる場合

たとえば「合計:1,200円(税込)」のような文字列から数値を取り出す場合:

=VALUE(REGEXEXTRACT(A2, "\d[\d,]*"))


REGEXEXTRACT

これは「数値だけ」を正規表現で抽出し、その結果を VALUE で数値変換します。
1,200 → 1200 にもなります。

実際の業務での活用例

  • 請求データから合計金額だけを抽出
  • 売上報告書からカンマ付き金額を集計
  • 「○○円」の形式で入力された顧客データの数値分析

よくあるエラーと対処法

以下のようなエラーが起きた場合は、対処法をチェックしましょう:

エラー 原因 対処法
#VALUE! 文字列に数値と認識できない文字が残っている SUBSTITUTEで余計な記号を削除
数式の解析エラー 全角の記号や引用符を使っている すべて半角記号で統一

まとめ

スプレッドシートでは、「1,000円」などの文字列をそのまま数値に変換できないため、SUBSTITUTEとVALUEを組み合わせるのが基本です。

何度も使う処理であれば、独自の関数やテンプレートとして登録しておくのもおすすめです。ぜひ、業務効率化に役立ててみてください。