
このデータ、1つのセルに名前も年齢も住所も全部入ってるんですけど…見づらくないですか?

それなら、Power Queryの“列の分割”でサクッと分けられるよ!区切り記号とか文字数を使って、バラバラにしてスッキリ整形できるから。今日はそれ、教えてあげる!
データ分析やレポート作成で欠かせないのが「データの整形」。その中でも、ExcelのPower Query(パワークエリ)は、ちょっとややこしい加工もサクッとこなしてくれる頼れるツールです。
今回は、そのPower Queryの中でも特に出番の多い「列の分割」に注目!
基本の使い方から、ちょっとした応用テクニックまで、順番にわかりやすくご紹介します。
Power Queryを初めて使う人も、「もっと便利に使いこなしたい!」という方も、ぜひ参考にしてみてくださいね!
【基本編】列の分割
区切り記号で分割する
カンマやスペースなどの記号を目印にしてデータを分ける、よく使われる方法です。
たとえば「田中 一郎」という名前を「田中(姓)」と「一郎(名)」に分けたいときなどに活躍します。
分割の手順
- 分割したい列を選択して、右クリック →「列の分割」→「区切り文字による分割」をクリック

「ホーム」タブまたは「変換」タブ→「列の分割」→「区切り記号による分割」でもOKです。

- 「区切り記号による列の分割」ダイアログが表示されるので、使いたい記号を選びます

1.区切り記号
区切り記号 | よく使う場面 | 注意点 |
---|---|---|
コロン ( : ) | 時刻や「ラベル:値」のようなデータ 例: 08:30 、type:value | 分割で意味が変わることも。例:「08:30」→ 「08」「30」 |
コンマ ( , ) | CSVファイルなどのデータ 例: 田中 一郎,35,東京 | 引用符(”)で囲まれてるデータに要注意 |
等号 ( = ) | 名前と値のペアなど 例: name=Tanaka | 設定ファイルなどでよく使われます |
スペース (半角空白) | 名前や単語が並ぶとき 例: Tanaka Ichiro | 全角スペースや複数空白に要注意 |
タブ (Tab) | 表形式のデータ (例:Excelのコピーなど) | 一見見えないけど、しっかり区切られます |
カスタム | 特殊な記号 例: */# など | パターンがバラバラだとうまくいかないことも |
2.分割する位置の指定
区切り記号が複数あるときは、「どこで分割するか」を選べます。思いどおりに分けたいときに便利!
分割方法 | 分割される場所 | 例 |
---|---|---|
一番左の区切り記号 | 最初に見つかった区切り記号で分割 | 「りんご-赤-100円」 → 「りんご」「赤-100円」 |
一番右の区切り記号 | 最後に見つかった区切り記号で分割 | 「りんご-赤-100円」 → 「りんご-赤」「100円」 |
区切り記号の出現ごと | すべての区切り記号で分割 | 「りんご-赤-100円」 → 「りんご」「赤」「100円」 |
3.引用符文字の設定
「引用符文字」は、ダブルクオーテーション(”)やシングルクオーテーション(’)など、
データを囲んでいる文字をそのままひとまとまりとして扱うための機能です。たとえば「”Tokyo, Japan”」のようなデータでも、引用符文字を設定しておけば、「Tokyo」と「Japan」に分かれることなく、そのまま1つのデータとして扱われます。
設定が済んだら [OK] をクリックすると、分割された新しい列が追加されます。

文字数で分割する
データに区切り記号がない場合や、「この文字数でキッパリ分けたい!」というときに便利なのが、文字数での分割です。たとえば、社員番号「AB123456」を「AB」と「123456」に分けたいときなどに使います。
分割の手順
- 分割したい列を選択して、右クリック →「列の分割」→「文字数による分割」をクリック

「ホーム」タブまたは「変換」タブ→「列の分割」→「文字数による分割」でもOKです。

- 「文字数による列の分割」ダイアログが表示されるので、分け方を指定します

- 文字数
どの文字数で分けたいかを入力します。
- 分割方法
分ける位置をどうするかを選びます。
分割方法 | 説明 | 例 (”AB123456″を文字数2で分割) |
---|---|---|
できるだけ左側で1回 | 左端から指定した文字数で一度だけ分割 | 「AB」「123456」 |
できるだけ右側で1回 | 右端から指定した文字数で一度だけ分割 | 「AB1234」「56」 |
繰り返し | 指定した文字数ごとに何度も分割 | 「AB」「12」「34」「56」 |
設定が済んだら [OK] をクリックすると、新しい列が追加されます。

【応用編】
分割と同時に列名をつける
Power Queryで列を分割すると、通常は「元の列名.1」「元の列名.2」みたいな名前になりますよね。でも、分割と同時に列名を指定することで、あとから名前を直す手間を省けちゃいます。
たとえば、区切り記号で「担当者名」列を「姓」と「名」に分けて、そのまま列名もつけたい場合は以下のようにします。

通常どおりに「区切り記号で分割」を行ったあと、
- プレビュー右側の「クエリの設定」ウィンドウで「区切り記号で分割」ステップを選択

- プレビュー上部の数式バーに表示された式を編集
表示された式をよく見ると、新しい列の名前があるので、そこを直します。

= Table.SplitColumn(
変更された型,
"担当者名",
Splitter.SplitTextByEachDelimiter({" "}, QuoteStyle.None, false), {"担当者名.1", "担当者名.2"})
これを下のように書き換えます。
= Table.SplitColumn(
変更された型,
"担当者名",
Splitter.SplitTextByEachDelimiter({" "}, QuoteStyle.None, false), {"姓", "名"})

これで分割と同時に列名も設定完了!
クエリがすっきりして、ステップ数も減らせます。
分割した列を縦に並べる(行に分割)
1つのセルに「A,B,C」といった複数の値が入っていて、それぞれを別の行にしたいときに便利なのが「行に分割」。
- 列への分割:データを横方向に展開(「A」「B」「C」が別の列に)
- 行への分割:データを縦方向に展開(「A」「B」「C」が別々の行に)
たとえば「文字数で分割する」機能と組み合わせれば、1セルのデータを細かく切って、行ごとに展開できます。

なお、行に分割すると元の行の他の列の値はそのまま複製されて表示されます。

複数の区切り記号で分割する方法
カンマやスペース、セミコロンなど、いろんな記号が混在してるデータもありますよね。そんなときでも、Power Queryなら工夫次第でちゃんと分割できます!
ここでは「等号(=)」と「セミコロン(;)」で分割してみます。

方法1:記号を統一する(「値の置換」を使う)
- まずは区切り記号を1つにそろえます(例:セミコロン
;
を等号=
に置き換える)
対象の列を選択して、右クリックメニュー→「値の置換」で「セミコロン(;)」の区切り記号を「等号(=)」に変換します



- 通常の区切り記号で分割を「区切り記号の出現ごと」に指定して分割します
区切り記号を「等号(=)」に統一したので、複数ある「等号(=)」で分割します。

[詳細設定オプション] をクリックすると「分割後の列数」も指定できます。
設定が済んだら [OK] をクリックすると、分割された列が追加されます。

※「セミコロン(;)」を「等号(=)」に統一しましたが、「セミコロン(;)」に統一してもやることは同じです。
方法2:M関数を使って複数記号で直接分割(上級者向け)
M関数(Power Queryの数式)を使えば、複数の区切り記号を一発で処理できます!
- まずは1つの区切り記号(例:等号
=
)で分割
式をイチから書くのは大変なので、まずは1つの区切り記号で分割します。


- 分割したら、そのステップを選択して数式を編集します

ステップを選択するとプレビュー上部の数式バーに式が出ますので、書き換えます。

修正前の式
= Table.SplitColumn(
並べ替えられた列,
"属性",
Splitter.SplitTextByEachDelimiter({"="}, QuoteStyle.None, false), {"属性.1", "属性.2"})
修正する部分は次のとおりです。

- 「Splitter.SplitTextByEachDelimiter」を「Splitter.SplitTextByAnyDelimiter」に変更
- 区切り記号を
{ "=" }
→{ "=", ";" }
に変更 - 列名を必要な数だけ追加(例:3つに分けたいなら、”属性.1″, “属性.2”, “属性.3″)
修正後の式(使用する関数を変更、区切りの追加、新しい列の名前の追加)
= Table.SplitColumn(
並べ替えられた列,
"属性",
Splitter.SplitTextByAnyDelimiter({"=",";"}, QuoteStyle.None, false), {"属性.1", "属性.2", "属性.3"})
- Splitter.SplitTextByAnyDelimiter
複数の区切り記号(ここでは"="
,";"
)を対象に、一度の処理で全部まとめて分割する関数 - 並べ替えられた列
前のステップの名前。前のステップからテーブル(データ)を引き継ぎます。 "属性"
分割対象の列名。"属性.1"
,"属性.2"
,"属性.3"
分割後の新しい列名。指定する数は最大で分割される個数に合わせて調整してください。
※列名の部分{“属性.1”, “属性.2”, “属性.3”}は省略もできます。

= Table.SplitColumn(
並べ替えられた列,
"属性",
Splitter.SplitTextByAnyDelimiter({"=",";"}, QuoteStyle.None, false))
この方法なら、いろんな区切り記号が入り混じったデータでも、一発でスッキリ分割できます!

まとめ
Power Queryで“列の分割”を使いこなして業務を効率化しよう!
今回は、Power Queryの中でも出番の多い「列の分割」についてご紹介しました。この機能を使いこなすことでデータの整形作業が一気にラクになります。
- 分割=くっついている情報をバラバラにして使いやすくする操作!
- 区切り記号(カンマ・スペースなど)や文字数を上手に使えば、思い通りにデータを分けられる!
- ちょっとした応用で、縦に分割したり複数の区切り記号にも対応できる!
「今まで手作業や関数でちまちまやってた…」という人ほど、うまく活用すれば、分析やレポート作成の前段階がグッと効率化できます!
まずは基本の使い方から試してみて、少しずつ応用にもチャレンジしてみてくださいね。

なるほど〜!区切り記号とか文字数でこんなにスッキリ整理できるなんて、感動ですっ♪これならデータの見づらさともおさらばですね!
…よーし、次は“列の結合”もマスターして、もっとスキルアップしちゃいますっ!