Excel(エクセル)のデータの先頭や末尾、文字と文字の間にスペース/空白が混ざっていて困ったことはないでしょうか。
セルによって、半角スペースや全角スペースなどが複数個バラバラに挿入されていると、データを1列に並べた際、文字列が微妙にズレてしまいます。
そんな不規則に文字に挿入されているスペース/空白を調整してくれるのが、TRIM関数(トリム)です。
また、半角スペースと全角スペースが混在している場合は、TRIM関数とSUBSTITUTE関数を組み合わせて利用すると、文字と文字の間を簡単に調整することができます。
この記事では、TRIM関数を使ったスペース/空白の調整方法と応用テクニックを紹介します。
エクセルのTRIM関数(トリム)とは
TRIM関数は、データの先頭や末尾、文字間のスペース/空白をまとめて調整するための関数です。
1つのセルだけであれば調整は簡単ですが、複数のセルに半角スペースや全角スペースが不規則に混在していたら、大変ですよね。
TRIM(トリム)は、日本語で『刈り取る』『切り取る』という意味を持つことからも分かるとおり、TRIM関数は、そんな空白スペースを調整する際に利用する関数です。
TRIM関数の構文と引数
TRIM関数の構文と引数は以下のとおりです。
=TRIM(文字列)
文字列には、調整したいセルを指定します。
そうすると、指定したセルの各単語間のスペースは 1 つ残し、それ以外の不要なスペースをすべて削除します。
TRIM関数の使い方と5つの実例を紹介
それでは、空白セルを含む文字列にTRIM関数を使うと、実際にどのようにスペース/空白が削除されるか、さまざまなケースにあわせて実例で紹介していきます。
どんなケースに活用できるか参考にしてみてね。
先頭にスペース/空白がある場合
上の図は、セルの先頭に全角スペースや半角スペースなどの空白があるセルに対して、TRIM関数を使った例です。
全角や半角に限らず、TRIM関数を使うと、全ての先頭のスペースが削除されます。
末尾にスペース/空白がある場合
上の図は、セルの末尾に全角スペースや半角スペースなどの空白があるセルに対して、TRIM関数を使った例です。
全角や半角に限らず、TRIM関数を使うと、全ての末尾のスペースが削除されます。
文字と文字の間に全角スペースがある場合
上の図は、セルの文字と文字の間に全角スペースの空白があるセルに対して、TRIM関数を使った例です。
TRIM関数を使うと、文字と文字の間の全角スペースは1つだけ残されて、それ以外は削除されます。
文字と文字の間に半角スペースがある場合
上の図は、セルの文字と文字の間に半角スペースの空白があるセルに対して、TRIM関数を使った例です。
TRIM関数を使うと、文字と文字の間の半角スペースは1つだけ残されて、それ以外は削除されます。
文字と文字の間に全角&半角スペースがある場合
上の図は、セルの文字と文字の間に全角スペースと半角スペースが混在しているセルに対して、TRIM関数を使った例です。
TRIM関数を使うと、文字と文字の間のスペースは先頭の1つだけ残りますが、それ以外は削除されます。
そのため、上の3行目の例のように、TRIM関数を使っても、文字間に半角スペースと全角スペースが混在するケースが発生します。
文字と文字の間を全角スペースか半角スペースに統一したい場合は、下の見出しで紹介するSUBSTITUTE関数の利用を検討してください。
TRIM関数とSUBSTITUTE関数を組み合わた方法
上で紹介したとおり、TRIM関数を使っても文字と文字の間は、全角スペースと半角スペースが混在してしまう可能性があります。
SUBSTITUTE関数と利用して、文字と文字の間を全角スペース、もしくは半角スペースに統一する方法を紹介します。
SUBSTITUTE関数とは
SUBSTITUTE関数(サブスティチュート)は、セル内の文字を別の文字に置き換えることができる関数です。
構文と引数は、以下のとおりです。
=SUBSTITUTE(文字列,検索文字列,置換文字列,[置換対象])
※4つ目の引数[置換対象]は省略可能です。
例えば、以下のように、SUBSTITUTE関数を利用することで、句読点の『、』を『。』に修正することが出来ます。
=SUBSTITUTE(B3,"、","。")
TRIM関数とSUBSTITUTE関数を利用して文字間のスペースを調整
それでは、実際にTRIM関数とSUBSTITUTE関数を利用して、全角スペースと半角スペースが混ざっているセルを、全角スペースに統一する方法を紹介します。
利用方法は簡単です。
TRIM関数の中に、SUBSTITUTE関数を入れ子(ネスト)で利用して、以下のように関数を作成します。
=TRIM(SUBSTITUTE(B3," "," "))
SUBSTITUTE関数の第2引数「検索文字列」には、「” ”」( 半角スペース)を指定し、第3引数「置換文字列」には、「” ”」( 全角スペース)を指定します。
そうすると、SUBSTITUTE関数で、半角スペースが全角スペースに変換されてから、TRIM関数で余分なスペースを削除されるため、以下のように、文字間のスペースを統一することができます。
文字間を半角スペースに統一したい場合は、SUBSTITUTE関数の第2引数と第3引数を入れ替えるだけで、調整することができます。
=TRIM(SUBSTITUTE(B3," "," "))
半角スペースと全角スペースをどちらかに統一する方法
SUBSTITUTE関数を利用しなくても、Excelの「置換」機能を用いることで、簡単にスペースのサイズを統一することができます。
下の図のように、半角スペースと全角スペースがぐちゃぐちゃに混ざっている際、まずは、すべてのスペースのサイズを統一したい場合に利用出来る方法です。
まずは、対象のセルを選択した状態で、「ホーム」タブ⇒「検索と選択」ボタンから、「置換」をクリックします。
次に、「検索する文字列」に全角スペースを入力し、「置換後の文字列」に半角スペースを入力して、「すべて置換」をクリックします。
そうすると、下の図のように、すべての全角スペースをまとめて同時に半角スペースに置き換えることができます。
このように、スペースを統一してから、TRIM関数を利用すると、サイズの違う半角スペースや全角スペースがが混ざる心配はありません。
仮に、「置換」画面で「検索する文字列」に半角スペースを入力し、「置換後の文字列」に全角スペースを入力すると、すべての空白を全角スペースに統一することができます。
スペースを使わずに文字の間隔を調整する方法
スペースキーを使って統一性無く文字の間隔を調整すると、TRIM関数で文字の間隔を調整する必要が出てしまいます。
そうならないためにも、文字の間隔を調整する際は、エクセルの「インデント」という機能の利用をおすすめします。
インデントは英語で「indent」と書き、「字下げ」という意味です。
エクセルのインデントとは、文章の行頭に見た目上の空白を挿入して文字を右に押しやる『左揃え(インデント)』のことです。
その他に、末尾の文字を左に押しやる『右揃え(インデント)』と、テキストの文字の間隔に空白を挿入する『均等割り付け(インデント)』があります。
上の例のように、インデントを活用すれば、スペースを不要に挿入する必要はありません。
以下の記事で使い方を紹介していますので、参考にしてみてください。
セルに入力した文字や数値の位置がずれる原因と対策
下の図のように、セルに入力した文字や数値を左揃えや中央揃えしても、なぜか微妙に文字位置がずれる現象に出会ったことはありませんか。
これらの現象が発生する原因と対策を以下の記事で紹介していますので、興味のある方は合わせて参考にしてみてください。