Excelの文字列関数を完全整理|結合・分割・置換まで実務で迷わない

  • このエントリーをはてなブックマークに追加
excel 関数 文字列

Excelで作業していて、「数値計算はできるのに、文字の処理になると一気に分からなくなる」と感じたことはありませんか。氏名の分割、商品コードの整形、文章の一部抽出など、実務では文字列を扱う場面のほうが圧倒的に多いですよね。

ところが、LEFT・RIGHT・MID・CONCAT・TEXT・SUBSTITUTEなど、文字列関数は種類が多く、断片的に覚えても「結局どれを使えばいいのか」で迷いがちです。ここが多くの人がつまずくポイントでしょう。

この記事では、Excelの文字列関数を目的別に整理し、実務でそのまま使える数式とともに解説します。初心者の方は基礎から、経験者の方は知識の整理として読み進めてみてくださいね。

Excelで文字列を扱うとは?まず押さえる基本概念

「文字列」とは何か|数値との違い

Excelにおける文字列とは、計算対象ではなく「文字として扱われるデータ」を指します。氏名・商品名・住所・型番・コメント文などが代表例ですね。

注意したいのは、見た目が数値でも文字列として扱われているケースが多い点です。実務では、次のようなデータを頻繁に目にするはずです。

  • 00123(社員番号・会員番号)
  • 090-1234-5678(電話番号)
  • AB-2025-01(商品コード)

これらは計算する必要がないため、数値ではなく文字列として処理します。数値として扱ってしまうと、先頭の0が消えたり、意図しない変換が起きたりするので注意が必要ですよ。

Excelで文字列が重要になる理由

Excel作業というと、SUMやAVERAGEなどの集計を思い浮かべる方も多いですが、実務では計算に入る前の「データ整形」に最も時間を取られがちです。

その中核を担うのが、文字列処理です。

  • フルネームを「姓」「名」に分けたい
  • 商品コードから分類コードだけを抽出したい
  • CSVで取り込んだ不要な記号や空白を消したい
  • 日付や数値を見やすい表記に整えたい

これらを手作業で行うと、時間がかかるうえにミスも発生しやすくなります。文字列関数を使えば、同じ処理を一瞬で、しかも正確に行えるようになります。

文字列処理で初心者がつまずきやすいポイント

文字列関数で混乱しやすい理由は、主に次の3点です。

  • 関数の種類が多く、役割の違いが整理できていない
  • 数値と文字列の区別が曖昧なまま使っている
  • エラーが出たときに、原因の切り分けができない

特につまずきやすいのが、「見た目は同じでも中身が違う」というExcel特有の仕様です。たとえば「123」と表示されていても、数値か文字列かによって、関数の結果が変わることがあります。

文字列関数は、1つずつ暗記するものではありません。まずは「何をしたいか」から逆引きする意識が大切です。この考え方を押さえておくだけで、後半の関数解説がかなり理解しやすくなります。

Excelの文字列関数を目的別に整理する

文字列関数を理解しやすくする最大のコツは、関数名から覚えようとしないことです。先に「何をしたいのか」を明確にし、その目的に合う関数を選ぶ。この順番で考えるだけで、混乱はかなり減ります。

ここでは、Excelの文字列関数を目的別に整理し、実務で迷わず使えるように解説していきます。

文字列を結合する関数

複数のセルに分かれた文字を1つにつなげたい場面は非常に多いですよね。氏名の結合、住所の連結、商品コードの生成など、実務では頻出の処理です。

CONCAT関数

CONCAT関数は、複数の文字列をまとめて結合するための関数です。比較的新しい関数で、現在はこちらが主流になっています。

たとえば、A2に「山田」、B2に「太郎」が入っている場合は、次のように記述します。

=CONCAT(A2,B2)

結果は「山田太郎」となります。セル範囲をそのまま指定できるため、列が多いデータを一括で結合したい場合にも便利です。

CONCATENATE関数(旧関数)

CONCATENATE関数は、CONCAT関数が登場する前に使われていた旧来の文字列結合関数です。現在も使用できますが、新しく覚える必要はありません。

既存ファイルで見かけた場合は、「CONCATの旧関数」と理解しておけば問題ないでしょう。

「&」演算子との違いと使い分け

文字列の結合は、関数を使わずに「&」演算子でも行えます。

=A2&B2

この方法は短く書けるため、結合する要素が少ない場合に向いています。一方で、項目が増えると式が読みにくくなる点には注意が必要です。

結合する項目が少ない場合は「&」、多い・範囲指定したい場合はCONCATと使い分けると、実務で迷いにくくなります。

文字列を分割・抽出する関数

文字列関数の中でも、特につまずきやすいのが「分割・抽出」です。氏名の姓と名を分けたり、商品コードの一部だけを取り出したりと、実務では非常によく使われます。

ここで重要なのは、「どこから」「何文字分」取り出すのかを正確にイメージすることです。

LEFT関数

LEFT関数は、文字列の左側(先頭)から指定した文字数を取り出す関数です。

たとえば、A2に「ABC-1234」という文字列が入っている場合、先頭3文字を取り出すには次のように書きます。

=LEFT(A2,3)

結果は「ABC」になります。固定長のコードや、先頭部分に意味があるデータに向いています。

RIGHT関数

RIGHT関数は、LEFT関数とは逆に、文字列の右側(末尾)から指定した文字数を取り出します。

=RIGHT(A2,4)

上記の場合、結果は「1234」です。末尾の連番や年度コードなどを抜き出すときに便利ですね。

MID関数

MID関数は、文字列の途中から任意の位置・文字数を指定して抽出する関数です。

=MID(A2,5,4)

この式では、5文字目から4文字分を取り出します。結果は「1234」になります。

MID関数は自由度が高い反面、開始位置の指定を間違えると結果がズレるため注意が必要です。

FIND関数とSEARCH関数の違い

LEFT・RIGHT・MIDは「文字数」を基準に抽出しますが、特定の文字位置を基準にしたい場合はFIND関数やSEARCH関数を組み合わせます。

両者の違いは次のとおりです。

  • FIND関数:大文字・小文字を区別する
  • SEARCH関数:大文字・小文字を区別しない

たとえば、「-(ハイフン)」の位置を基準に前半・後半を分けたい場合などに活躍します。

「文字数で切る」のか、「特定文字の位置で切る」のかを意識するだけで、関数選択は一気に楽になります

文字列を置換・削除する関数

文字列処理では、「特定の文字を別の文字に置き換えたい」「不要な文字を削除したい」といった場面も頻繁に出てきます。CSVデータや外部システムから取り込んだデータでは、特に重要な処理ですね。

SUBSTITUTE関数

SUBSTITUTE関数は、文字列の中にある特定の文字列を別の文字列に置き換える関数です。

たとえば、A2に「東京都-千代田区-1-1」が入っている場合、ハイフンを空白に置き換えるには次のように書きます。

=SUBSTITUTE(A2,"-"," ")

結果は「東京都 千代田区 1 1」になります。指定した文字列をすべて置換できる点が特徴です。

REPLACE関数

REPLACE関数は、文字の位置と文字数を指定して置き換える関数です。

たとえば、先頭の3文字だけを別の文字に置き換えたい場合は、次のように記述します。

=REPLACE(A2,1,3,"大阪府")

文字の内容ではなく、「何文字目から何文字分」という指定で動くため、固定フォーマットのデータに向いています。

不要な空白を処理するTRIM関数

TRIM関数は、文字列の余分な空白を削除するための関数です。特に、先頭・末尾・連続した空白をまとめて処理できる点が重要です。

=TRIM(A2)

見た目では分かりにくい空白が原因で、検索や一致判定がうまくいかないことは意外と多いんですよ。

文字列トラブルの多くは「不要な文字・空白」が原因です。まずTRIMを試す、という習慣をつけるとトラブル回避につながります。

文字列の形式を整える関数

データの中身は正しくても、「表示の仕方」がバラバラだと、資料としては使いにくいですよね。ここでは、文字列の見た目を整えるために使われる関数を解説します。

TEXT関数

TEXT関数は、数値や日付を指定した表示形式の文字列に変換する関数です。請求書や報告資料を作る際によく使われます。

たとえば、A2に日付が入っている場合、曜日付きで表示したいときは次のように書きます。

=TEXT(A2,"yyyy/mm/dd")

このように、TEXT関数を使うと、表示形式を完全にコントロールできます。

UPPER・LOWER・PROPER関数

これらの関数は、英字の大文字・小文字を変換するためのものです。

  • UPPER関数:すべて大文字に変換
  • LOWER関数:すべて小文字に変換
  • PROPER関数:単語の先頭文字を大文字に変換

英字表記が混在しているデータを整える際に便利ですね。

表示形式を整える処理は、計算よりも「文字列」として扱う方が安定するケースが多い点も覚えておきましょう。

文字列を判定・検索する関数

文字列関数は「加工」だけでなく、「判定」や「チェック」にもよく使われます。データの状態を確認したり、条件分岐の材料にしたりする場面ですね。

LEN関数

LEN関数は、文字列の文字数を数えるための関数です。全角・半角を区別せず、1文字としてカウントされます。

=LEN(A2)

入力文字数のチェックや、固定長コードの検証などでよく使われます。

EXACT関数

EXACT関数は、2つの文字列が完全に一致しているかを判定する関数です。大文字・小文字も区別されます。

=EXACT(A2,B2)

結果は TRUE または FALSE で返されます。IDやパスワードなど、厳密な一致判定が必要な場面に向いています。

ISNUMBER関数との組み合わせ

文字列の中に、特定の文字が含まれているかどうかを判定したい場合は、ISNUMBER関数とFIND関数(またはSEARCH関数)を組み合わせる方法が定番です。

=ISNUMBER(FIND("@",A2))

この例では、A2に「@」が含まれていれば TRUE、含まれていなければ FALSE を返します。メールアドレスの簡易チェックなどに使えますね。

判定系の関数は、IF関数と組み合わせることで真価を発揮します。後半の実務例で、具体的な使い方を見ていきましょう。

実務でよく使う文字列関数の組み合わせパターン

ここからは、単体の文字列関数ではなく、複数の関数を組み合わせて実務を効率化するパターンを紹介します。実際の現場では、1つの関数だけで完結するケースはそれほど多くありません。

氏名・商品名・コードを加工するケース

たとえば、A2に「山田 太郎」というフルネームが入っており、姓だけを取り出したいケースを考えてみましょう。

=LEFT(A2,FIND(" ",A2)-1)

この式では、空白の位置をFIND関数で取得し、その手前までをLEFT関数で抽出しています。「位置を探す → 抽出する」という組み合わせは非常に頻出です。

商品コード「ABC-2025-001」から、カテゴリ部分「ABC」だけを取り出す場合も同じ考え方です。

=LEFT(A2,FIND("-",A2)-1)

CSV・外部データを整形するケース

CSVや外部システムから取り込んだデータは、不要な記号や空白が混ざっていることが多いですよね。

たとえば、前後に余計な空白があり、さらにハイフンが含まれている場合は、次のように処理できます。

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

まずTRIM関数で空白を削除し、その後SUBSTITUTE関数で不要な文字を取り除いています。整形系の関数は「TRIMを最初にかける」のが基本です。

IF関数と文字列関数を組み合わせる実例

文字列関数は、IF関数と組み合わせることで条件分岐に活用できます。

たとえば、メールアドレスとして正しそうかどうかを簡易チェックしたい場合は、次のように書けます。

=IF(ISNUMBER(FIND("@",A2)),"OK","NG")

このように、「文字が含まれているかどうか」を条件に分岐することで、データチェックやフラグ付けが可能になります。

実務では「1関数=1目的」ではなく、「複数関数の組み合わせ」で考えるのがポイントです。

文字列関数でよくある失敗・エラーと対処法

文字列関数は便利な反面、「なぜかうまく動かない」「結果がおかしい」といったトラブルも起きやすい分野です。ここでは、実務で特によくある失敗と、その対処法を整理します。

全角・半角の違いによるトラブル

見落としがちですが、全角と半角の違いは文字列処理に大きく影響します。見た目が似ていても、Excel上ではまったく別の文字として扱われます。

  • 全角スペースと半角スペース
  • 全角ハイフンと半角ハイフン
  • 全角英数字と半角英数字

SUBSTITUTE関数で置換しても消えない場合は、文字の種類が違う可能性を疑ってみてください。

空白・見えない文字が原因のエラー

検索や一致判定がうまくいかない原因として非常に多いのが、見えない空白の存在です。特にCSVやWebコピーのデータでは頻発します。

このような場合は、まずTRIM関数を使ってみてください。

=TRIM(A2)

それでも解決しない場合は、SUBSTITUTE関数で特定の文字コードを置換する必要があるケースもあります。

数値として扱えない問題

「見た目は数値なのに、計算できない」というトラブルもよくあります。これは、データが数値ではなく文字列として保存されていることが原因です。

TEXT関数を使った結果は文字列になるため、後続の計算では注意が必要です。

文字列関数を使った後は、「この結果は数値か文字列か」を必ず意識することが、エラー防止につながります。

文字列関数を効率よく身につけるコツ

文字列関数は種類が多いため、やみくもに覚えようとすると挫折しやすい分野です。ここでは、実務で使える形で無理なく定着させるための考え方を整理します。

目的から関数を逆引きする考え方

文字列関数を使いこなす最大のポイントは、「関数名 → 何ができるか」ではなく、「やりたいこと → 関数」で考えることです。

  • つなげたい → CONCAT / &
  • 切り出したい → LEFT / RIGHT / MID
  • 置き換えたい → SUBSTITUTE / REPLACE
  • 整えたい → TRIM / TEXT
  • 判定したい → LEN / EXACT / ISNUMBER

このように目的別で整理しておくと、新しい関数が出てきても混乱しにくくなります。

関数を丸暗記しない学習法

文字列関数は、すべてを暗記する必要はありません。実務で本当に使うのは、その中の一部です。

まずは、LEFT・RIGHT・MID・CONCAT・SUBSTITUTE・TRIMあたりを重点的に使ってみてください。実際に手を動かすことで、「この場面ではこの関数」という感覚が自然と身についてきます。

「忘れても検索すればいいが、考え方だけは忘れない」。このスタンスで十分です。

Excelの文字列関数に関するよくある質問(FAQ)

文字列関数はどこまで覚えれば十分?

結論から言うと、すべてを覚える必要はありません。実務で頻出なのは、結合・分割・置換・空白削除に関わる関数です。

具体的には、LEFT・RIGHT・MID・CONCAT(または &)・SUBSTITUTE・TRIM を押さえておけば、多くの業務はカバーできます。TEXTやLEN、ISNUMBERは「必要になったら調べて使う」でも十分対応できますよ。

複雑な式になった場合の考え方は?

式が長くなってきた場合は、一気に完成形を書こうとしないことが重要です。

  • まずは位置を求める(FIND / SEARCH)
  • 次に抽出する(LEFT / MID / RIGHT)
  • 最後に整形する(TRIM / SUBSTITUTE)

このように処理を分解して考えると、途中で何が起きているかが見えやすくなります。必要であれば、途中式を別セルで確認するのも有効な方法です。

関数とPower Queryはどう使い分ける?

少量のデータや、都度変わる処理には文字列関数が向いています。一方で、大量データの一括整形や、毎回同じ手順を繰り返す場合は、Power Queryのほうが効率的なケースもあります。

「手軽さ」は関数、「再現性・大量処理」はPower Queryと考えると、使い分けしやすくなります。

       

SNSでもご購読できます。

     

コメントを残す


CAPTCHA