文字列操作関数の組み合わせ
LEVEL 7 の締めくくりは、これまで学んだ関数を組み合わせて、実務でよくある厄介なデータを整形する 回です。
ここまでで、
- 切り出す ── LEFT・RIGHT・MID
- 数える・探す・置き換える ── LEN・FIND・SUBSTITUTE
- 整える・書式を変える ── TRIM・CLEAN・TEXT
という、文字列操作の 9つの道具 が揃いました。今回は、それらを 掛け合わせて使う実例 を4つ紹介します。
「1つの関数では解決できないが、組み合わせれば解決できる」── これが Excel の数式の醍醐味です。1つひとつの関数を覚えるよりも、組み合わせのパターンを身につける ことが、実務の現場ではずっと役に立ちます。
ケース①:氏名を「姓」と「名」に分ける
「山田 太郎」のように、姓と名の間に 全角スペース がある氏名データ。これを2列に分けたいケースです。
:::excel
A1=氏名
A2=山田 太郎
A3=鈴木 一郎
A4=佐藤 花子
A5=高橋 二郎
:::
姓と名の長さは、人によってバラバラです。ここで活躍するのが、FIND関数で「区切り位置」を動的に探す という発想。
姓(B列)を取り出す数式:
=LEFT(A2, FIND(" ", A2) - 1)
- FIND で全角スペースの位置を探す(山田 太郎 なら3)
- そこから -1 した文字数(=2文字)を LEFT で取り出す
- → 結果:山田

名(C列)を取り出す数式:
=MID(A2, FIND(" ", A2) + 1, LEN(A2))
- FIND で全角スペースの位置を探し、+1 した位置から MID で取る
- 取得する文字数は LEN(A2) と「多めに指定」しておけば、末尾までごっそり取れる
- → 結果:太郎

FIND × LEFT・MID の王道パターン。「区切り文字の位置が動く」というケースは、ほぼこの形で対応できます。
ケース②:メールアドレスを「ユーザー名」と「ドメイン」に分ける
メールアドレスは「@マーク」を境に2分割するだけなので、ケース①と同じ発想が使えます。
:::excel
A1=メールアドレス
A2=yamada@example.com
A3=suzuki@transparently.jp
A4=sato@100excel.co.jp
:::
ユーザー名(B列):
=LEFT(A2, FIND("@", A2) - 1)
ドメイン(C列):
=MID(A2, FIND("@", A2) + 1, LEN(A2))
結果:
| メールアドレス | ユーザー名 | ドメイン |
|---|---|---|
| yamada@example.com | yamada | example.com |
| suzuki@transparently.jp | suzuki | transparently.jp |
| sato@100excel.co.jp | sato | 100excel.co.jp |

「区切り文字を変えるだけで、同じパターンが使い回せる」── これが組み合わせの強みです。氏名でもメールでも、商品コードでも、「区切り文字を境に2分割」 という構造であれば、すべてこの形でいけます。
ケース③:コピペデータの一括クリーニング
社外システムから貼り付けたデータは、たいてい汚れています。前後の半角・全角スペース、セル内改行、見えないタブ文字 ──。
:::excel
A1=取り込み済みデータ
A2= 山田 太郎
A3=
鈴木 一郎
A4=佐藤 花子
:::
(A2は前後に半角スペース、A3は先頭に改行、A4は末尾に半角スペースが入っているイメージ)
これを一気にきれいにする呪文:
=TRIM(CLEAN(SUBSTITUTE(A2, " ", " ")))
処理の順番は、
- SUBSTITUTE で全角スペースを半角スペースに統一
- CLEAN で改行・タブを除去
- TRIM で前後と連続空白を整える
→ 結果:山田 太郎(前後の空白なし、間は半角スペース1個)

「Ctrl+H の置換機能でも近いことはできる」と思うかもしれません。が、置換は元データを書き換えてしまうのに対し、この数式は元データを残しつつ別セルに整形版を作る ことができます。
「取り込み列 → クリーニング列 → 分析列」と段階的にデータを整える設計が、後から見直したときに分かりやすく、ミスも減ります。
ケース④:請求書の表題を動的に作る
最後は、TEXT関数 × 文字列連結 の応用です。
請求書や報告書の表題で、「2026年5月分 ご請求書(株式会社○○ 御中)」のような文章を、セルの値から動的に組み立てる ケースを考えます。
:::excel
A1=請求月
A2=2026/5/1
A3=顧客名
A4=株式会社サンプル
:::
C1セルに、
=TEXT(A2, "yyyy年m月") & "分 ご請求書(" & A4 & " 御中)"
→ 結果:2026年5月分 ご請求書(株式会社サンプル 御中)

ここで TEXT を挟まないと、
=A2 & "分 ご請求書(" & A4 & " 御中)"
→ 46143分 ご請求書(株式会社サンプル 御中)
と、シリアル値(数字)がそのまま出てしまいます。日付や数値を文章に組み込むときは、必ず TEXT で書式を指定する ── この一手間が、見やすい資料の差になります。
請求月のセル A2 を翌月に変えるだけで、表題も自動で更新されます。雛形を作っておけば、毎月のルーチン作業がぐっと楽になる 一例です。
組み合わせを使いこなすコツ
最後に、関数を組み合わせるときのコツを3つ。
① 内側から考える
=TRIM(CLEAN(SUBSTITUTE(A2, " ", " "))) のような入れ子は、いちばん内側の SUBSTITUTE から順に組み立てる と迷いません。途中の式を別セルで一度動かしてみて、結果を確認しながら組み合わせていくと安全です。
② 1つの数式に詰め込みすぎない
3つ4つの関数を重ねた数式は、強力な反面、読みづらく、エラー時の原因が特定しにくい という弱点があります。慣れないうちは、1ステップずつ別の列に展開 していくのもおすすめです。
| A列(元) | B列(SUBSTITUTE後) | C列(CLEAN後) | D列(TRIM後・完成) |
|---|
このように分けておけば、どの段階で意図しない結果になっているかが一目で分かります。
③ 引数の意味を毎回確認する
LEFT・MID・FIND ── どれも引数の使い方が微妙に違います。慣れるまでは、数式バーをクリックしたときに表示される関数ヒント を見ながら入力するクセをつけてください。
「何文字目から、何文字分」を間違えると、結果がまるごとズレます。
LEVEL 7 を終えて
文字列操作関数は、地味ですが実務で最も使う関数群 のひとつです。
- 取り込みデータの整形
- 名簿の分割
- 表題やコメントの自動生成
- 入力チェック
──こうした 「データの前処理」 ができるかどうかで、Excel 作業の効率は何倍にも変わります。
LEVEL 7 で身についたのは、
- 切り出す(LEFT・RIGHT・MID)
- 数える・探す(LEN・FIND)
- 置き換える(SUBSTITUTE)
- 整える(TRIM・CLEAN)
- 書式を変える(TEXT)
- これらを 組み合わせて、実務の課題を解決 する力
これらを応用すれば、ちょっとした「データ整形系のお願いごと」は、ほぼすべて関数で対応できるようになります。
「手作業でコツコツやっていた整形が、数式1本で終わる」 ── そんな体験を、ぜひ業務の中で味わってみてください。
もちろん生成AIを使えば、いまは一瞬でクレンジング処理ができるでしょう。けれども、データクレンジングが手動でできる人材ほど、データの扱いに長けているというものです。
次の LEVEL では、テーブルとデータベース的思考 に進みます。文字列で整えたデータを、いよいよ「しっかりした表として扱う」段階です。
まとめ
- FIND × LEFT・MID で「区切り文字が動くデータ」も切り出せる
- TRIM(CLEAN(SUBSTITUTE(…))) がデータクリーニングの黄金パターン
- TEXT × & で、日付・数値を含んだ動的な文章を作れる
- 組み合わせは 内側から組み立て、1ステップずつ展開する と迷わない
- 文字列操作は「データの前処理力」── 実務でいちばん効くスキル
ショートカット
※このレッスンに対応するショートカットはありません。