ヘルプの森~Excel・Access・Office全般ヘルプデスクサイト

No.003

アイコン 余分なスペースを削除してスペースを全角または半角に揃える 《SUBSTITUTE・TRIM》

Excel2003/2007/2010/2013

Excelではさまざまな処理において全角/半角を区別する、つまり全角と半角とでは別データを見なすケースが多く、データ処理においては注意する点となっています。
例えば帳簿の担当者列などで、苗字と名前の間のスペースが全角で入力されている「森 花子」さんと半角スペースの「森 花子」さんとでは別人となってしまいます。

今回のお問い合わせは、苗字と名前の間のスペースを半角にし(名前のカタカナは半角にしない)、その他の余分なスペースを削除して、テータをきれいに揃えたいというものです。

苗字と名前の間のスペースが全角と半角が混じっている可能性があるということなので、すべてのスペースを半角に揃えることと、余分なスペースを省くことが必要となります。
2つ必要となる関数を1つずつご案内します。

では、A列セルA2より氏名のデータが入力されているとします。
スペースを半角に揃えるのは、SUBSTITUTE関数(分類: 文字列操作)を使用します。

SUBSTITUTE関数は、対象の文字列のある文字列を別の文字列に置換する関数です。
セルA2のデータ(引数1つ目)の全角スペース(引数2つ目)を半角スペース(引数3つ目)に置換する場合、式は次のようになります。
スペースも文字列ですので、前後にダブルクォーテーションを付けてあげます。

  =SUBSTITUTE(A2," "," ")

これで、すべてのスペースが半角に揃いました。

さて次に、余分なスペースを省くのはTRIM関数(分類: 文字列操作)を使用します。
引数は1つ、対象の文字列(のセル)を指定します。

  =TRIM(A2)

TRIM関数で取り除く余分なスペースというのは、データの前後のスペース、間に入っている複数のスペースの2番目以降のスペースです。

では、この2つの関数を合体してみましょう。
実はどちらから処理しても同じ結果となります。

全角スペースを半角スペースに置換したデータの余分なスペースを除く場合は

  =TRIM(SUBSTITUTE(A2," "," "))

SUBSTITUTE関数

余分なスペースを除いたデータの全角スペースを半角スペースに置換する場合は

  =SUBSTITUTE(TRIM(A2)," "," ")

どちらにしても、結果は次のようになります。

スペース揃え

ヘルプmemo

<TRIM関数 (文字列操作関数)>

指定した文字列から不要なスペースを削除した結果を返します。
 数式: =TRIM(文字列)
 引数:
  文字列... 不要なスペースを削除したい文字列、またはセル参照で指定

<SUBSTITUTE関数 (文字列操作関数)>

文字列中の指定した文字列を新しい文字列に置換して返します。
 数式: =SUBSTITUTE(文字列, 検索文字列, 置換文字列, 置換対象)
 引数:
  文字列... 置換の対象である文字列、またはセル参照で指定
  検索文字列... 指定した文字列の中での、置換対象となる文字列を指定
  置換文字列... 置換する文字列
  置換対象... 省略すると対象をすべて置換、数値nを指定するとn番目の対象を置換

関連ヘルプ

7桁で入力されている郵便番号のデータにハイフォンを挿入したい 《REPLACE》
左から(右から・途中から)決まった文字数の文字列を取り出す 《LEFT・RIGHT・MID》
全角の英数字を半角にするには、またはその逆 《ASC・JIS》
数字文字列を数値にする(関数編) 《VALUE》
別々のセルに入っているデータを結合して(つなげて)表示する 《アンパサンド・CONCATENATE》
先頭のシングル クォーテーション、アポストロフィー(')を取るには(関数編) 《SUBSTITUTE》
ページのトップへ戻る