今回のお題はTRIM関数の使い方です。読み方は「トリム」で、「文字(単語)の間にあるスペースを1つ残し、その他のスペースを削除する」という働きがあります。
※解説画像はMicrosoft365のExcelを使用しています
TRIM関数でできること
「文字(単語)の間にあるスペースを1つ残し、その他のスペースを削除する」とはちょっとわかりそうでわかりづらい説明ですよね。そこで、こちらのような例題を用意して実験してみたいと思います。
下図はB2~B6に入力された値のうち、スペースを置換で「□」に置き換え可視化してみたものです。姓の前や名の後ろにスペースが入っていたり、姓と名の間のスペースの数も1つ~3つ入っていたりと一貫性がありません。
このようなデータに対してTRIM関数を使った場合、
- 文字と文字の間にあるスペースは1つを残し他はすべて削除
⇒「姓」と「名」の間に入っているスペースが2つ以上ある場合は1つを残して他は削除される(元々スペースが1つしか入っていない場合は変化なし) - 文字と文字に挟まれていない位置にあるスペースはすべて削除
⇒「姓」の前、「名」の後ろに入っているスペースはすべて削除
という処理が行われます。つまりは、下図の赤い「□」の位置にあるスペースをいっぺんに削除できますよ、という事です。
データ全体からスペースをすべて削除するだけで良いのであれば置換を使った方が早いですが、この例のように「姓」と「名」の間にだけ1つスペースを残したい場合はTRIM関数が適しています。
TRIM関数で不要なスペースを削除する
では、先のデータから不要なスペースを削除してみましょう。
隣のC列に数式の結果を表示しますので、まず先頭のB2の右隣り、C2にカーソルを置いた状態にしておきます。
[数式]タブ⇒「文字列操作」を順にクリックし、関数の一覧から「TRIM」をクリックします。
関数の引数ダイアログボックスが開きます。引数はスペースを削除したいデータが入ったセル番地を指定するだけですので、B2をクリックします。(引数のボックスに「B2」と入力されます)
[OK]をクリックして関数の引数ダイアログボックスを閉じたら、セルC2のフィルハンドルをC6までドラッグして他のセルにも数式をコピーします。
これで不要なスペースは削除されましたが、このままでは参照しているB列が削除されるとすべてエラーになってしまいますので、数式を除いた結果の値だけをB列に上書きしましょう。
C2~C6を選択して「コピー」します。
セルB2の上で右クリック⇒貼り付けのオプションで「値」をクリックします。
※値を貼り付け終わったらC列は削除して構いません。
こちらが値をコピーし終わった状態です。置換でスペースを□で置き換えてみると綺麗になっているのがわかりますね。
この例では全角スペースを使用しましたが、もちろん半角スペースでも問題ありません。
TRIMで不要なスペースを取り除いた結果、全角スペースと半角スペースが混在している事が判明した場合は、JIS関数やASC関数を使うと簡単に全半角を統一させることができます。