LEVEL 7 文字列・データ加工の匠 中級
Lesson 065

文字列操作関数③(TRIM・CLEAN・TEXT)

練習用Excelファイル lesson065-practice.xlsx

練習用ファイルは、パソコンからダウンロードしてください。

文字列操作関数③(TRIM・CLEAN・TEXT)

文字列操作の第三弾は、TRIM・CLEAN・TEXT です。

これまでの LEFT・MID は「切り出す」、FIND・SUBSTITUTE は「探す・置き換える」関数でした。今回は データを整える・見せる 関数たちを紹介します。

  • TRIM :余計な 空白(スペース) を取り除く
  • CLEAN改行などの印刷不可文字 を取り除く
  • TEXT :数値や日付を、指定した 書式の文字列 に変える

実務で「他システムからインポートしたデータが汚い」「日付を文字列として連結したい」── そんなときに頼りになる関数たちです。

関数ライブラリ
関数ライブラリ


TRIM関数の構文

=TRIM(文字列)

引数は1つだけ。余計なスペースをまとめて削除する 関数です。

ここでいう「余計なスペース」は、

  • 文字列の 先頭と末尾 にあるスペース → すべて削除
  • 文字列の 途中 にある複数の連続スペース → 1個に圧縮

という動きをします。「単語と単語の間の1個のスペース」は残してくれる のがポイントです。

引数ダイアログ
引数ダイアログ


TRIM関数を使ってみる

他システムから貼り付けたデータに、見えない空白が混じっていることがあります。

:::excel
A1=社員名
A2= 山田 太郎 
A3=鈴木 一郎
A4= 佐藤 花子
A5=高橋 二郎 
:::

(前後やセル内に余分な空白が紛れ込んでいるイメージです)

B2セルに、

=TRIM(A2)

結果:山田 太郎(前後の空白は消え、間の空白は1つだけ残る)

TRIMで余計な空白を除去
TRIMで余計な空白を除去

見た目は同じなのに、VLOOKUP で一致しない」── 実はセルの末尾に半角スペースが入っていた、というのは Excel あるあるです。

マスタとの照合前に TRIM で整える ことで、こうしたトラブルを未然に防げます。


TRIM の弱点:全角スペース

ただし、注意点が1つ。TRIMは「半角スペース」と「全角スペース」を区別します

  • 文字列の 先頭・末尾全角スペース → 削除されない
  • 文字列の 途中連続する全角スペース → 1個には圧縮されない

たとえば、

=TRIM(" 山田 太郎 ")  →  山田 太郎 (変化なし)

全角スペースも一掃したいときは、前回紹介した SUBSTITUTE との合わせ技が定番です。

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

全角スペース → 半角スペースに変換 → TRIM 」という流れで、全角・半角どちらも処理できます。


CLEAN関数の構文

=CLEAN(文字列)

これも引数は1つだけ。印刷できない制御文字(改行など)を取り除く 関数です。

「印刷できない文字」と言われても、ちょっとピンと来ないかもしれません。具体的には、

  • セル内改行(Alt+Enter で入る改行)
  • タブ文字
  • その他の制御コード(外部システムからの取り込み時に混入することがある)

こういった「目に見えにくい厄介者」をまとめて消去するのが CLEAN の役割です。

引数ダイアログ
引数ダイアログ


CLEAN関数を使ってみる

セル内改行が含まれている住所データを想定します。

:::excel
A1=住所
A2=東京都千代田区
丸の内1-1-1
A3=大阪府大阪市北区
梅田2-2-2
:::

(A2 と A3 のセル内には Alt+Enter による改行が入っているイメージです)

B2セルに、

=CLEAN(A2)

結果:東京都千代田区丸の内1-1-1(改行が消える)

CLEANで改行を除去
CLEANで改行を除去

CSVファイルを Excel にインポートしたとき、見えない改行が紛れ込むことがよくあります。

そのままだと VLOOKUP や FIND がうまく動かない原因になるので、CLEAN で一度きれいにする 習慣を持っておくと安心です。


TRIM と CLEAN のセット使い

実務では、TRIM と CLEAN は同時に使う ことが多いです。

=TRIM(CLEAN(A2))

まず CLEAN で改行などの制御文字を消し → 次に TRIM で空白を整える」という二段構え。データクレンジングの黄金パターン として覚えておいてください。


TEXT関数の構文

=TEXT(値, 表示形式)

  • :変換したい数値や日付
  • 表示形式 :どんな書式で表示するか("yyyy/mm/dd" など)

数値や日付を、指定した書式の文字列に変える」関数です。書式設定(セルの表示形式)と似ていますが、TEXT は結果が「文字列」になる のが大きな違いです。

引数ダイアログ
引数ダイアログ


TEXT関数を使ってみる:日付の整形

:::excel
A1=日付
A2=2026/5/23
A3=2026/12/1
A4=2027/1/15
:::

B2セルに、

=TEXT(A2, "yyyy年m月d日")

結果:2026年5月23日

TEXTで日付を整形
TEXTで日付を整形

書式コードはセルの表示形式と同じものが使えます。よく使うパターンは、

書式コード結果(例:2026/5/23 の場合)
yyyy/mm/dd2026/05/23
yyyy年m月d日2026年5月23日
yyyy年m月d日(aaa)2026年5月23日(土)
ggge年m月d日令和8年5月23日

aaa で曜日を1文字(土)」「aaaa で曜日を3文字(土曜日)」「ggg で和暦」── 知っているとちょっと得をする小ネタです。


TEXT関数を使ってみる:数値の整形

数値もTEXT関数で整形できます。

=TEXT(1234567, "#,##0")        → 1,234,567
=TEXT(1234567, "#,##0円")      → 1,234,567円
=TEXT(0.85, "0.0%")             → 85.0%
=TEXT(7, "0000")                → 0007(4桁0埋め)

0007」のような 0埋め(ゼロパディング) は、商品コードや伝票番号を整える際に重宝します。


なぜわざわざ文字列にするのか

「セルの表示形式でやればいいのでは?」と感じるかもしれません。確かにセル単体で見るぶんには、表示形式で十分です。

TEXT関数の本領は、他の文字列と連結する ときに発揮されます。たとえば、

="本日は " & TEXT(TODAY(), "yyyy年m月d日(aaa)") & " です。"

結果:本日は 2026年5月23日(土) です。

セル参照で TODAY() の結果をそのまま「&」で連結すると、シリアル値(数字)がそのまま出てしまいます

="本日は " & TODAY() & " です。"
→ 本日は 46164 です。

これでは意味が分かりません。TEXT で書式を指定してから連結 することで、人間が読める文章になります。文字列連結時の「最後の仕上げ役」 が TEXT 関数だと覚えておいてください。


まとめ

  • TRIM:先頭・末尾の空白を すべて削除、間の連続空白は 1個に圧縮全角スペースは対象外
  • CLEAN:改行などの 印刷不可文字 を取り除く
  • TEXT:数値・日付を 指定書式の文字列 に変える
  • =TRIM(CLEAN(A2)) でデータクレンジングの黄金コンビ
  • TEXT は 文字列連結時の書式整形 で本領発揮

次回はいよいよ LEVEL 7 の締めくくり、文字列操作関数の組み合わせ

氏名分割やメール分割など、実務でよくある「ちょっと面倒なデータ整形」を、これまで学んだ関数で一気に解決 していきます!


ショートカット

※このレッスンに対応するショートカットはありません。

次のLessonへ Lesson 066 文字列操作関数の組み合わせ