Office
 Computer >> コンピューター >  >> ソフトウェア >> Office

Excelの「区切り位置」機能でテキストを列に分割する方法|3つの実例で解説

Excelの「区切り位置」ウィザード(Text to Columns Wizard)は、さまざまな場面で活躍する非常に便利な機能です。この記事では、Excelでテキストを列に変換する方法を詳しく解説します。たとえば、データベースの列を自分の用途に合わせて分割したり、メールアドレスから重要な情報を抽出したりすることができます。さらに、「区切り位置」ウィザードの詳細設定オプションを使って、末尾にマイナス符号が付いた数値を負の数として正しく変換する方法についてもご紹介します。

練習用ファイルは、記事末尾のリンクからダウンロードできます。

Excelでテキストを列に変換する3つの実践ケース

ここでは、Excelの「区切り位置」機能を活用できる3つの実践的なケースを、図解付きで順番に説明していきます。それでは早速見ていきましょう。

1. 「区切り位置」機能で列を分割する

Excelで情報を保存するためのデータベースを設計するとき、必ず意識しておきたいポイントがあります。それは、1つの列には最小限のデータだけを入れるということです。

データベースは、使い方次第で強力にも脆弱にもなります。では、どのように設計すれば、後述のような問題を回避できるのでしょうか。

具体的な例を挙げて、問題点を確認してみましょう。

下記はサンプルデータセットの概要です。このデータセットには、連絡先の氏名(Contact Name)、住所(Address)、生年月日(Date of Birth)など、人物に関する情報が含まれています。

Excelの「区切り位置」機能でテキストを列に分割する方法|3つの実例で解説

さて、重要なデータベースは完成しました。これをさらに使いやすい形に加工していきます。まず、名前を五十音順(アルファベット順)に並べ替えたいとします。

問題点:名(ファーストネーム)と姓(ラストネーム)が同じ列に入ってしまっています。

次に、リストの中にイリノイ州(Illinois)出身者が何人いるか知りたいとします。問題点:住所全体が1つの列に入力されています。

さらに、20〜30歳の人が何人いるか調べたい場合も同様です。お察しの通り、これはできません。同じ列に入っているからです。

パターンが見えてきましたね。つまり、各列に詰め込みすぎているのが問題なのです。データが別々の列に分かれていれば、作業は格段に簡単になります。

この種の問題を解決するには、次の3つのツールが使えます。

  1. Excelの「区切り位置」(Text to Columns)機能を使う
  2. フラッシュフィル(Flash Fill)機能を使う(Excel 2013以降で利用可能な新機能)
  3. Excel関数を使って、列のデータを細かく分割する

フラッシュフィルの使い方については、別記事「Excel 2013でのフラッシュフィルの使い方」をご覧ください。3つ目の関数による方法も、それだけで1つの大きなテーマになるため、ここでは割愛します。

本記事では、「区切り位置」機能に焦点を当てて解説します。

1.1. 氏名を分割する

まずは「Contact(氏名)」列から取り掛かりましょう。以下の手順に従ってください。

手順:

  • まず、対象の列全体を選択します。マウスでドラッグしても構いませんし、キーボード操作ならCtrl + Shift + ↓(下矢印)を押すだけで、簡単に列全体を選択できます。
  • 次に、「データ」タブを開き、「データツール」グループにある「区切り位置」をクリックします。

Excelの「区切り位置」機能でテキストを列に分割する方法|3つの実例で解説

  • 「テキストファイルウィザード」(区切り位置ウィザード)のダイアログボックスが表示され、「操作の概要 1/3」が表示されます。デフォルトで「コンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」が選択されているので、そのまま「次へ」をクリックします。

Excelの「区切り位置」機能でテキストを列に分割する方法|3つの実例で解説

♦♦補足:今回のケースでは「スペースによって右または左にそろえられた固定幅フィールドのデータ」(Fixed Width)オプションは不適切です。このオプションは、新しい列の幅が明確で、幅の指定だけでデータが正しく切り分けられることが分かっている場合に選択します。今回は「区切り文字」オプションが適しています。

  • 続いて「操作の概要 2/3」に進みます。ここでは複数の区切り文字から選択できます。今回の場合、区切り文字は「スペース」であることが分かっているので、スペースにチェックを入れます。画面下部のデータプレビューで、データが正しく分割される位置を確認してから「次へ」をクリックしましょう。

Excelの「区切り位置」機能でテキストを列に分割する方法|3つの実例で解説

  • 列のデータ形式はデフォルトの「標準(General)」のままにしておきます。
  • 日付を選択した場合は、日付の形式も指定できます。デフォルトではDMY(日・月・年)が選択されていますが、ドロップダウンから他の形式も選べます。
  • 分割後のデータを配置する転送先(Destination)セルを指定します(例:G4セル)。
  • 最後に「完了」をクリックします。

Excelの「区切り位置」機能でテキストを列に分割する方法|3つの実例で解説

  • これが最終結果です。

Excelの「区切り位置」機能でテキストを列に分割する方法|3つの実例で解説

ご覧の通り、Contact列が2つの列に分割されました。1列目を「First Name(名)」、2列目を「Last Name(姓)」と名付けましょう。このように、「区切り位置」機能を使えば、氏名が1つの列にまとまったデータでも簡単に分割できます。

1.2. 住所を分割する

次に、City State Zip(市区町村・州・郵便番号)列を、より小さな要素であるCity(市区町村)State(州)Zip(郵便番号)に分割してみましょう。この列にはカンマスペースという2種類の区切り文字が混在しているため、分割は2段階に分けて行う必要があります。

以下の手順に従ってください。

  • まず、カンマを区切り文字として列を分割します(ウィザードの開き方は方法1.1と同じです)。

Excelの「区切り位置」機能でテキストを列に分割する方法|3つの実例で解説

  • これで列が2つに分かれました。1列目を「City」、2列目を「State Zip」と名付けます。

Excelの「区切り位置」機能でテキストを列に分割する方法|3つの実例で解説

  • 次に、State Zip列をスペースを区切り文字として分割します。

Excelの「区切り位置」機能でテキストを列に分割する方法|3つの実例で解説

とても簡単ですね!

1.3. テキストを日付に変換する

今度は「Date of Birth(生年月日)」列に取り組みましょう。

この列のデータは、月(Month)日(Day)年(Year)の順に並んでいます。ここでは日付(Date)形式を使用します。

  • まず、Date of Birth列を選択し、方法1.1と同じ手順でウィザードを開きます。

Excelの「区切り位置」機能でテキストを列に分割する方法|3つの実例で解説

  • 列のデータ形式で「日付(Date)」を選択し、ドロップダウンからMDY(月・日・年)を選択します。次に転送先セルを変更し(例:L4)、最後に「完了」ボタンをクリックします。

Excelの「区切り位置」機能でテキストを列に分割する方法|3つの実例で解説

  • すると、列がきれいに日付形式へ変換されていることが確認できます。

Excelの「区切り位置」機能でテキストを列に分割する方法|3つの実例で解説

いかがでしょうか。「区切り位置」機能を使えば、見づらいデータベースもこんなに簡単に整えられるのです。

2. メールアドレスからユーザー名とドメインを抽出する

「区切り位置」機能を使えば、メールアドレスユーザー名(Username)ドメイン(Domain)に簡単に分割できます。

Excelの「区切り位置」機能でテキストを列に分割する方法|3つの実例で解説

以下の手順で行います。

手順:

  • まず、分割したいメールアドレスを選択し、方法1.1と同じ手順で区切り位置ウィザードを開きます。

ウィザードのステップ1で「区切り文字」を選択し、「次へ」をクリックします。

Excelの「区切り位置」機能でテキストを列に分割する方法|3つの実例で解説

  • ステップ2では、「その他」にチェックを入れ、隣の欄に「@」と入力します。そのまま「次へ」をクリックしましょう。

Excelの「区切り位置」機能でテキストを列に分割する方法|3つの実例で解説

  • ステップ3で転送先を指定し(例:C2:D8)、「完了」をクリックします。

Excelの「区切り位置」機能でテキストを列に分割する方法|3つの実例で解説

  • ユーザー名ドメインが2つの列に分割されます。

Excelの「区切り位置」機能でテキストを列に分割する方法|3つの実例で解説

3. 詳細設定で末尾のマイナス符号を負の数に変換する

数値の末尾にマイナス符号が付いたデータが列に入っている場合を考えてみましょう。

Excelの「区切り位置」機能でテキストを列に分割する方法|3つの実例で解説

このような負の数を正しく変換するには、対象の数値を選択して「区切り位置」機能を実行します。

手順:

  • まず、方法1.1と同じ手順でウィザードを開き、ステップ1で「区切り文字」を選択して「次へ」をクリックします。

Excelの「区切り位置」機能でテキストを列に分割する方法|3つの実例で解説

  • ステップ2では、区切り文字は何も選択せずに「次へ」をクリックします。

Excelの「区切り位置」機能でテキストを列に分割する方法|3つの実例で解説

  • ステップ3で「詳細設定」ボタンをクリックします。「テキストファイルウィザードの詳細設定」ダイアログが開いたら、「負の数に使用する末尾のマイナス符号」にチェックを入れて「OK」をクリックします。

Excelの「区切り位置」機能でテキストを列に分割する方法|3つの実例で解説

  • その後、転送先を指定して「完了」をクリックします。

Excelの「区切り位置」機能でテキストを列に分割する方法|3つの実例で解説

  • 最終的に、以下のような結果が得られます。

Excelの「区切り位置」機能でテキストを列に分割する方法|3つの実例で解説

まとめ

この記事では、Excelでテキストを列に変換するいくつかの方法をご紹介しました。記事がお役に立てば幸いです。より良い方法や、記事に関するご質問・フィードバックがあれば、ぜひコメント欄でお聞かせください。その他のご質問は、弊社ウェブサイトをご覧ください。今後ともどうぞよろしくお願いいたします。

Happy Excel! 🙂

関連記事

  • 「区切り位置」機能を使ってExcelでテキストを分割する方法
  • フラッシュフィルとTEXT数式を使って1つの列からメールアドレスを作成する方法
  • Excelでテキストを複数のセルに分割する方法
  • Excelでセルを分割する完全ガイド
  • Excelでセルを半分に分割する方法(斜め方向・水平方向両方)
  1. Excelの数式でテキストを自動的に列に分割する3つの方法

    Excelでデータを管理していると、1つのセルに入力されたテキストを複数の列に分割して整理したい場面がよくあります。「区切り位置」ウィザードやVBAマクロを使う方法もありますが、数式を使えば元データを変更せずに自動的に分割でき、データを更新しても結果が自動で反映されるという大きなメリットがあります。この記事では、Excelの数式でテキストを自動的に列に分割するための3つのシンプルな方法を、具体的な手順とともにわかりやすく解説します。 数式でテキストを列に自動分割する3つの方法 ここからは、Excelの数式を使ってテキストを列に分割する3つの方法を順番に紹介します。目的やデータの形式に応じて、最

  2. Excelで列データを区切り文字付きテキストに変換する5つの方法

    Excelのシートで、縦方向(列)に入力されたリストを横並びのテキストとして整理したい場面はよくあります。その際、各項目をつなぐために区切り文字が必要になります。最も一般的なのはカンマ(,)ですが、セミコロンなどを使う場合もあります。残念ながら、Excelには列を区切り文字付きテキストへ一発で変換する専用機能は用意されていません。そこで本記事では、5つの簡単な方法で列データを区切り文字付きテキストに変換する手順を詳しく解説します。 Excelで列を区切り文字付きテキストに変換する5つの方法 この記事では、以下の5つのアプローチを順番に紹介します。 TEXTJOIN関数を使う方法 CONCAT