Excelで文字列を文字数ごとに分割する8つの方法【関数・機能を徹底解説】
Excelで文字列を指定した文字数ごとに分割したいと思っていませんか?この記事では、初心者でもすぐに使える8つの方法を、実際のデータ例を使いながらわかりやすく解説します。さっそく見ていきましょう。
サンプルファイルのダウンロード
この記事で使用しているワークブックは、練習用として自由にダウンロードして活用できます。
文字列を文字数で分割する8つの方法
ここでは、ある大学の学生記録のデータテーブルを例に、文字数による分割や、特定の文字・改行による文字列の分割方法を説明します。
なお、本記事では Microsoft Excel 365 を使用していますが、他のバージョンでも同様の手順で操作できます。お使いの環境に合わせて読み進めてください。
方法1:「フラッシュフィル」機能を使って文字数ごとに分割する
この例では、「学籍番号(Student Id)」が「大学名」「年度」「組」「出席番号」で構成されています。最初に3文字、次に4文字、最後に3文字ずつ区切ることで、それぞれの情報を抽出できます。これを実現するのが、Excelのフラッシュフィル(Flash Fill)機能です。
ステップ1:
➤ 出力先のセル C5 を選択します。
➤ 先頭の3文字を入力します。
ステップ2:
➤ Enter キーを押すと、次のセル C6 に移動します。
➤ 「データ」タブ >> 「データツール」グループ >> 「フラッシュフィル」を選択します。
結果:
「大学名」列に大学名が自動的に抽出されます。
ステップ3:
➤ 出力先のセル D5 を選択し、中央の4文字を入力します。
➤ 上記のステップ2と同じ手順でフラッシュフィルを実行すると、「年度」列に年度が抽出されます。
ステップ4:
➤ 出力先のセル E5 を選択し、末尾の3文字を入力します。
➤ 同様にフラッシュフィルを実行すると、「組・出席番号」列に該当する情報が抽出されます。
方法2:「区切り位置」機能を使って分割する
学籍番号から大学名・年度・組・出席番号を抽出するには、「区切り位置(Text to Columns)」機能も便利です。
ステップ1:
➤ 「学籍番号」列を選択します。
➤ 「データ」タブ >> 「データツール」グループ >> 「区切り位置」を選択します。
「テキストファイルウィザード」が表示されたら、以下の手順で進めます。
➤ 「幅の位置等を揃えたフィールドのデータ(固定幅)」を選択して「次へ」をクリック。
➤ 区切りたい位置(大学名の後、年度の後)をクリックして区切り線を作成し、「次へ」をクリック。
➤ 列のデータ形式は「標準」を選択し、出力先セルに $C$5 を入力して「完了」をクリックします。
結果:
「大学名」「年度」「組」「出席番号」の4列にデータが分割されます。
方法3:補助データとMID関数を使って分割する
「科目番号(Course No)」を3文字ずつ分割して「科目」と「科目ID」を抽出する場合、MID関数と連番の補助データを組み合わせる方法が有効です。
ステップ1:
➤ 出力先のセル D6 を選択し、次の数式を入力します。
=MID($C6,COLUMN()+D$4-COLUMN($D6)+1,3)
COLUMN()+D$4-COLUMN($D6)+1 が開始位置を返し、COLUMN($D6) はそのセルの列番号を表します。最後の「3」は抽出する文字数です。
➤ Enter キーを押した後、フィルハンドルを下方向にドラッグすると、「科目」列に科目名が抽出されます。
ステップ2:
➤ 出力先のセル E6 を選択し、次の数式を入力します。
=MID($C6,COLUMN()+E$4-COLUMN($E6)+3,3)
➤ 同様に Enter キーを押してフィルハンドルをドラッグすると、「科目ID」列に抽出結果が表示されます。
方法4:LEFT関数とRIGHT関数を使って分割する
同じく「科目番号」を3文字ずつ分割する場合、LEFT関数とRIGHT関数を使うシンプルな方法もあります。
ステップ1:
➤ 出力先のセル D5 を選択し、次の数式を入力します。
=LEFT(C5,3)
「C5」が対象のテキスト、「3」が抽出する文字数です。
➤ Enter キーを押してフィルハンドルを下にドラッグすると、「科目」列に左側3文字が抽出されます。
ステップ2:
➤ 出力先のセル E5 を選択し、次の数式を入力します。
=RIGHT(C5,3)
➤ Enter キーを押してフィルハンドルをドラッグすると、「科目ID」列に右側3文字が抽出されます。
方法5:FIND関数で特定の文字の位置を基準に分割する
メールアドレスを「@」や「.」などの特殊文字で分割して3つの部分に分けるには、FIND関数と LEFT関数、RIGHT関数、MID関数を組み合わせます。
ステップ1(@より前の部分):
➤ 出力先のセル C5 を選択し、次の数式を入力します。
=LEFT(B5,FIND("@",B5)-1)
FIND("@",B5)-1 は「@」の位置から1を引いた文字数を表します。
➤ Enter キーを押してフィルハンドルをドラッグすると、メールアドレスの前半部分が抽出されます。
ステップ2(中間部分):
➤ 次の数式を入力します。
=MID(B5,FIND("@",B5),FIND(".",B5,FIND("@",B5)+1)-FIND("@",B5))
開始位置は「@」の位置、文字数は「.」と「@」の位置差です。
➤ 実行すると、メールアドレスの中間部分が抽出されます。
ステップ3(.以降の部分):
➤ 出力先のセル E5 を選択し、次の数式を入力します。
=RIGHT(B5,LEN(B5)-FIND(".",B5,FIND("@",B5))+1)
LEN関数で全体の文字数を取得し、「.」の位置を引くことで「.」以降の文字数を求めています。
➤ 実行すると、メールアドレスの末尾部分が抽出されます。
方法6:SEARCH関数で特定の文字の位置を基準に分割する
FIND関数とほぼ同じ使い方ができるSEARCH関数でも、同様にメールアドレスを3つに分割できます。LEFT関数、RIGHT関数、MID関数との組み合わせで実現します。
ステップ1(@より前の部分):
➤ 次の数式を入力します。
=LEFT(B5,SEARCH("@",B5)-1)
ステップ2(中間部分):
➤ 次の数式を入力します。
=MID(B5,SEARCH("@",B5),SEARCH(".",B5,SEARCH("@",B5)+1)-SEARCH("@",B5))
ステップ3(.以降の部分):
➤ 次の数式を入力します。
=RIGHT(B5,LEN(B5)-SEARCH(".",B5,SEARCH("@",B5))+1)
それぞれの数式を入力後、Enter キーを押してフィルハンドルを下にドラッグすれば、メールアドレスの各部分が抽出されます。
なお、FIND関数は大文字小文字を区別するのに対し、SEARCH関数は区別しないという違いがあります。用途に応じて使い分けるとよいでしょう。
方法7:改行を基準に文字列を分割する
「学籍番号&氏名」列のように、改行で学籍番号と氏名が区切られている場合は、FIND関数と CHAR(10)(改行コード)を組み合わせて分割できます。
ステップ1(学籍番号の抽出):
➤ 出力先のセル C5 を選択し、次の数式を入力します。
=LEFT(B5,FIND(CHAR(10),B5))
FIND(CHAR(10),B5) で改行の位置を取得しています。
➤ Enter キーを押してフィルハンドルをドラッグすると、「学籍番号」列に抽出結果が表示されます。
ステップ2(氏名の抽出):
➤ 出力先のセル E5 を選択し、次の数式を入力します。
=RIGHT(B5,LEN(B5)-FIND(CHAR(10),B5)+1)
全体の文字数から改行位置を引くことで、改行以降の文字数を求めています。
➤ 実行すると、「氏名」列に学生名が抽出されます。
方法8:数字と文字が混在する文字列を分割する
「点数と成績」列のように、数字(点数)と文字(成績)が混在している場合も分割可能です。SUBSTITUTE関数、LEFT関数、RIGHT関数、SUM関数、LEN関数を組み合わせます。
ステップ1(点数の抽出):
➤ 出力先のセル D5 を選択し、次の数式を入力します。
=LEFT(C5, SUM(LEN(C5) - LEN(SUBSTITUTE(C5, {"0","1","2","3","4","5","6","7","8","9"}, ""))))
SUBSTITUTE 関数で数字をすべて空欄に置き換え、LEN関数で元の文字数との差を取ることで、数字の個数を算出しています。
➤ Enter キーを押してフィルハンドルをドラッグすると、「点数」列に点数が抽出されます。
ステップ2(成績の抽出):
➤ 出力先のセル E5 を選択し、次の数式を入力します。
=RIGHT(C5,LEN(C5)-LEN(D5)-1)
➤ 実行すると、「成績」列に成績が抽出されます。
練習セクション
各シートの右側には練習用のセクションを用意しています。ぜひ自分で操作しながら、各方法をマスターしてください。
まとめ
この記事では、Excelで文字列を文字数や特定の文字、改行を基準に分割する8つの方法を紹介しました。フラッシュフィルや区切り位置などの標準機能から、MID・LEFT・RIGHT・FIND・SUBSTITUTEなどの関数まで、状況に応じて最適な方法を選べます。ぜひ日々の業務に役立ててください。ご質問やご意見があれば、お気軽にお寄せください。
関連記事
- Excelの数式で単語を分割する方法(完全ガイド)
- Excelで2つの単語を分離する6つの簡単な方法
- Excelで文字列を特定の文字で分割する6つの方法
- Excelでテキストを複数のセルに分割する方法
-
Excelで生データを分析する9つの実践的な方法
Excelで生データ(ローデータ)を効率的に分析したいと思っていませんか?この記事では、初心者から上級者まですぐに使える9つの分析方法を、具体的な手順付きでわかりやすく解説します。 記事内の手順は、実際にダウンロードできるワークブックを使って練習することも可能です。 Excelで生データを分析する9つの方法 ここでは、ある企業の製品名、月、売上の値を含むデータセットを例に使用します。この生データセットを、以下の9つの方法で分析していきましょう。 1. 並べ替えとフィルター機能でデータを分析する まず最初の方法は、並べ替えとフィルター機能を使った基本的なデータ分析です。以下の手順に従って操作して
-
Excelで分析用データを入力する2つの簡単な方法|ピボットテーブルと分析ツールの使い方
ビジネスにおいて、経営状況を正しく評価するためのデータ分析は欠かせません。データ分析を行うことで、潜在的なリスクを把握し、損失を最小限に抑えるための適切な対策を講じることができます。Excelには、こうした分析を効率的に行うためのさまざまな機能が備わっています。この記事では、データ分析のためにExcelへデータを入力・整理する2つの簡単な方法を、わかりやすい手順と図解付きでご紹介します。無料のExcelワークブックはこちらからダウンロードできるので、ぜひ実際に操作しながら練習してみてください。Excelで分析用データを入力する2つの方法まず、今回使用するデータセットをご紹介します。このデータに