エクセル(表計算)でデータまとめる際、数列(数字しか入力されないセル)の中に文字列が含まれるのはよくありません。
えいえ…そうなの?単位を入れた表を作ってしまった
数列に文字列が含まれていると
・計算がうまくいかない
・並べ替えやフィルターがうまくいかない
・検索(VLOOKUP)に失敗する
など予期せぬトラブルを起こしますので
数字を扱うセルには文字列を入れないことが好ましいです。
とはいえ、もう作ってしまったものはしょうがない…



修正するしかないね
今回は、数列に含まれた単位や1,000の「,」カンマ(桁区切り)を一括で消す方法を紹介します。
関数を使用しますが、エクセル初心者だった僕でも使えた関数なので安心してください。
文字列の一括置換(変更)にはSUBSTITUTE関数を使う



SUBSTITUTE関数とはなんぞ?
聞いたこともない関数だ。という人も多いと思います。
SUBSTITUTE関数は、「どのセル(列)」にある「どんな文字列」を「どんな文字列に変更」するか?を指示する関数です。


今回は、SUBSTITUTE関数を使って数列に含まれている単位や「,」カンマを削除していきます。
関連記事:【エクセル】スペースや改行を一括で削除(置換)する方法~SUBSTITUTE関数が便利~
SUBSTITUTE関数を使って数列に含まれる単位や「,」などの文字列を一括で削除する


SUBSTITUTE関数を使って単位を削除するのも、桁区切り「,」を削除するのも方法は同じです。
両方含まれている場合は、それぞれの方法で2通りすれば削除できます。
すこし工夫をすれば単位と桁区切りのカンマを同時に一括での削除も可能なので、順を追って説明していきます。
例:価格表の桁区切り「,」を削除する
B列にある価格の「,」を削除してC列の表示させていきます。


「C2セル」→「数式」→「関数の挿入」の順にクリック


関数の検索という場所に「置換」と入力(「」は不要です。)


候補にSUBSTITUTEが表示されるので、選択してOKすると以下のようなフォーマットが開きます。


順番に入力(指定)していけば式が完成します。


=SUBSTITUTE(B2,”,”,””)
関数が入力されるセルをオートフィル(セルの右下をダブルクリック)すれば完成です。


視覚的にもっとわかりやすくするために単位(円)を削除してみます。


”してみます。”とはいっても方法は簡単で検索文字列の「”,”」のところを「”円”」に変更するだけです。
=SUBSTITUTE(B2,”円”,””)
以上のやり方で単位やカンマのような文字列を削除できます。
ただ2回も同じ作業をくり返すのは面倒だと思うので、2種類の文字列(単位とカンマ)を同時削除する方法も一緒のお伝えします。
単位とカンマを同時に一括で削除する方法
使用する関数は今まで同じSUBSTITUTEです。
少しややこしい式になるので、先ほどの表を例に「円」と「,」を削除する式を紹介します。
=SUBSTITUTE(SUBSTITUTE(B2,”円“,””),”,“,””)
上記の式を(例えば)C2セルにコピペして、対象の文字列・消したい文字(マーカーの部分)だけを変更して使ってください。
計算結果は以下の通りです。


改めて式を紹介します。
=SUBSTITUTE(セル,”削除したい文字列”,””)
例:=SUBSTITUTE(B2,”,”,””)
例:=SUBSTITUTE(B2,”円”,””)
例:”円”と”,”を同時に削除したい場合
=SUBSTITUTE(SUBSTITUTE(B2,”円”,””),”,”,””)
エクセル表に単位は必須だし桁区切りも表示させたい


中学のときに「単位がないのは答えじゃない」なんて塾の数学の先生に言われましたが、エクセルでも単位がないとデータとして不十分です。
さんざん削除しておいて何をいまさら…
と言われそうですが、数列の中に文字列が含まれるのはよくないだけで単位は必要です。
| 商品名 | 在庫(ケース) |
| A | 5 |
| B | 10 |
| C | 15 |
| D | 50 |
のように、状況に応じた単位を記載しておきましょう。
金額は専用の書式を使うことで通貨記号を表示できる
お金にかかわる数値を扱う場合は専用を書式設定にすることで通貨記号を表示できるようになります。
通貨記号とは「¥1,500」とか「$10」などのことですね。
書式の設定方法は
「変更したいセルで右クリック」→「セルの書式設定」→「通貨」
とクリックしていきます。
通貨記号は記号から選択可能です。


「通貨」の書式設定にすることで、桁区切りの「,」も自動で表示されるようになります。
通貨記号も桁区切りのカンマも表示されているだけであって、データとしては含まれていません。


通貨に限って言えばセルに文字列を表示させつつも数列として扱うことができます。
通貨以外にも桁区切りをしたい
金額に関して言えば専用の書式設定があるので解決しましたが、扱う数字のデータはお金だけではありません。
在庫数であったり販売件数であったりと様々です。



他のデータだってカンマで区切りたい!
という意見も当然あるでしょう。
通貨以外の数字で桁区切りする場合は、
書式設定の「数値」→「桁区切り(,)を表示する」にチェックを入れてください。


以上で通貨以外のデータにもカンマを表示できるようになりました。
ただし単位は表示できないので、項目に表示させるなどで対処してください。
標準と数値の違いを簡単に説明すると↓
標準→エクセルの初期(デフォルト)設定です。自動で認識して適切な書式を設定しくれます。
数値→数値のみを扱う設定です。桁区切り、負の数なども設定できます。
まとめ~文字列はSUBSTITUTE関数で簡単に置換できる~


今回は、SUBSUTITUTEという関数を使って、数列に含まれている単位や「,」を削除する方法を紹介しました。
そもそもなんで数列に文字列が含まれたらダメなのか?
数列に文字が入っていると
・計算がうまくいかない
・並べ替えやフィルターがうまくいかない
・検索(VLOOKUP)に失敗する
などといった不具合が生じます。
データを扱う以上、これらに不具合がでると致命的です。
もう作ってしまった。いまさら直すのは大変…と思うかもしれませんが、SUTITUTE関数を使えばすぐに解決します。
=SUBSTITUTE(セル,”削除したい文字列”,””)
例:=SUBSTITUTE(B2,”,”,””)
例:=SUBSTITUTE(B2,”円”,””)
例:”円”と”,”を同時に削除したい場合
=SUBSTITUTE(SUBSTITUTE(B2,”円”,””),”,”,””)
例のように式を使っていけば、不要な文字だけを一発で削除できます。
とはいえ、桁数の多い数字を扱う場合は桁区切りのカンマを表示したいですよね。
そんなときは、セルの書式設定を「数値」に変更して、「桁区切り(,)を表示する」にチェックを入れるだけです。
金額を扱っているデータなら「通貨」に書式を変更するだけです。
・数列には文字列を混ぜない
・適切な書式設定を使用する
・SUTITUTE関数はめちゃくちゃ便利
ぜひ覚えておいてくださいね。

