新しい列を作る ― 条件列・インデックス・カスタム列・例からの列

このページのゴール

Power Queryの「列の追加」タブにある主要な4つの機能(条件列・カスタム列・インデックス列・例からの列)を使いこなし、データに新しい列を追加できるようになることです。特に「条件列」はExcelのIF関数に代わる機能であり、GUIだけで完結できるため重点的に解説します。

「列の追加」タブの全体像

「列の追加」タブには以下のボタンが並んでいます。このページで扱うのは太字の4つです。

ボタン何ができるかM言語の知識このページでの扱い
条件列IF的な分岐ロジックで新列を作る不要(GUIだけ)詳しく解説
カスタム列M言語の数式で自由に新列を作る少し必要基本パターンを解説
インデックス列連番を振る不要詳しく解説
例からの列入力例からPower Queryが数式を自動推定不要詳しく解説
重複する列選択した列のコピーを作る不要簡単に触れる
列のマージ複数列を1つに結合(前ページで解説済み)不要省略
テキスト系(書式・抽出など)前ページのテキスト操作と同じ(新列として追加)不要省略

条件列 ― GUIだけでIF的な列を作る

ExcelのIF関数(=IF(A1>=70,"合格","不合格"))と同じことを、数式を一切書かずにダイアログだけで実現できます。Power Queryでもっとも活用場面の多い機能の一つです。

基本操作:1つの条件

操作手順

1. 列の追加 タブ → 条件列 をクリックします。
2. 「条件列の追加」ダイアログが表示されます。
3. 新しい列名を入力します(例:「合否」)。
4. 条件を設定します:

設定項目説明
列名判定に使う列点数
演算子比較条件次の値以上
比較する値70
出力条件が真のときの値合格
それ以外の場合条件が偽のときの値不合格

5. 「OK」をクリックすると、新しい列「合否」が追加されます。

Before

氏名点数
田中85
佐藤60
鈴木72

After

氏名点数合否
田中85合格
佐藤60不合格
鈴木72合格

複数条件(ネストIF相当)

ExcelでIF関数を何重にもネストしていた処理も、条件列なら「規則の追加」ボタンで視覚的に積み重ねるだけです。

操作手順(例:A評価・B評価・C評価)

1. 「条件列の追加」ダイアログを開きます。
2. 1つ目の条件:点数 が 次の値以上 80 → 出力「A」
3. 「規則の追加」ボタンをクリックします。
4. 2つ目の条件:点数 が 次の値以上 60 → 出力「B」
5. それ以外の場合:「C」
6. 「OK」をクリックします。

条件は上から順に評価されます。1つ目の条件に当てはまればその出力が採用され、当てはまらなければ次の条件に進みます。つまりExcelの =IF(A1>=80,"A",IF(A1>=60,"B","C")) とまったく同じロジックを、ネストなしの見やすいUIで設定できます。

Before

氏名点数
田中85
佐藤60
鈴木45
高橋92

After

氏名点数評価
田中85A
佐藤60B
鈴木45C
高橋92A

使える演算子

演算子意味使用例
等しい完全一致部署 が 等しい 「営業部」
等しくない不一致ステータス が 等しくない 「削除済み」
次の値より大きい>売上 が 次の値より大きい 1000000
次の値以上>=点数 が 次の値以上 70
次の値より小さい<在庫 が 次の値より小さい 10
次の値以下<=金額 が 次の値以下 5000
で始まる前方一致商品名 が で始まる 「プレミアム」
で始まらない前方不一致
で終わる後方一致ファイル名 が で終わる 「.csv」
で終わらない後方不一致
を含む部分一致住所 が を含む 「東京」
を含まない部分不一致備考 が を含まない 「テスト」
条件列の制限:AND / OR 条件は直接作れない
「売上 >= 100万 かつ 部署 = 営業部」のようなAND条件や、「東京 または 大阪」のようなOR条件は、条件列のダイアログでは直接設定できません。こうした複合条件が必要な場合は、次に紹介する「カスタム列」でM言語の if文を使います。

カスタム列 ― M言語で自由に列を作る

条件列のGUIだけでは対応できない場合(AND/OR条件、計算式、複雑な文字列加工)に使います。「M言語入門」は後のページで扱いますが、ここではすぐに使える基本パターンだけ紹介します。

操作手順

1. 列の追加 タブ → カスタム列 をクリックします。
2. ダイアログが表示されます。上部に「新しい列名」、中央に「カスタム列の式」を入力する欄があります。
3. 右側の「使用できる列」リストから列名をダブルクリックすると、数式欄に [列名] の形式で挿入されます。
4. 数式を入力して「OK」。

パターン1:四則演算

[単価] * [数量]

「単価×数量」の計算結果を新しい列に出力します。Excel の =A1*B1 と同じです。

パターン2:AND条件のIF

if [売上] >= 1000000 and [部署] = "営業部" then "対象" else "対象外"

M言語の if はすべて小文字です。IF / THEN / ELSE と大文字で書くとエラーになります。and も or も小文字です。

パターン3:OR条件のIF

if [都道府県] = "東京都" or [都道府県] = "大阪府" then "主要都市" else "その他"

パターン4:テキスト結合(区切り記号付き)

[姓] & " " & [名]

& で文字列を連結できます。列のマージと同じ結果ですが、より複雑な組み合わせ(固定文字+列値+列値など)に対応できます。

エラーチェック機能を活用
数式を入力すると、ダイアログの下部に「構文エラーは検出されませんでした」または「エラーが検出されました」と表示されます。エラーの場合はOKボタンがグレーアウトして押せないため、数式を修正してください。よくある原因は、列名のスペルミス、大文字のIF、and/or の前後のスペース忘れです。

インデックス列 ― 連番を振る

全行に通し番号を付ける操作です。ExcelのROW関数に近い役割ですが、Power Queryではデータの並び順に基づいて番号が振られます。

操作手順

1. 列の追加 タブ → インデックス列 のドロップダウンをクリックします。
2. 開始番号を選択します:

選択肢動作
0から0, 1, 2, 3, … の連番
1から1, 2, 3, 4, … の連番
カスタム…開始値と増分を自由に設定(例:100から10刻み → 100, 110, 120…)

3. 右端に「インデックス」という列が追加されます。

インデックスの値は「そのときの行順」で決まる
インデックス列は、追加した時点での行の並び順に基づいて番号が振られます。後から並べ替えを追加すると、インデックスの番号はそのまま付いてきます(再計算はされません)。並べ替え後の順序で番号を振りたい場合は、並べ替えのステップの後にインデックス列を追加してください。

使いどころ

インデックス列は単なる行番号付けだけでなく、「元の並び順を保持する」目的でも使えます。データを加工する前にインデックス列を追加しておけば、加工後に元の順序に戻したいときにインデックス列で並べ替えるだけで復元できます。

例からの列 ― 入力例から数式を自動推定

Power Queryのユニークな機能です。新しい列の最初の数行に「こういう結果がほしい」という例を手入力すると、Power Queryがパターンを学習して残りの行を自動的に埋めてくれます。

操作手順

1. 列の追加 タブ → 例からの列 → すべての列からをクリックします。
2. 右端に空の新列が追加され、編集モードになります。
3. 最初のセルに期待する出力を入力します(例:元データが「2026/03/21」の行に「2026年3月」と入力)。
4. Enterを押すと、Power Queryがパターンを推定して他の行を自動入力します。
5. 推定結果が正しければ「OK」をクリックします。間違っている行があれば、その行にも正しい値を手入力して推定精度を上げます。

よくある使用例

元データ入力する例Power Queryが推定する処理
2026/03/212026年3月年と月の抽出+書式整形
田中 太郎T.Tanaka姓のローマ字頭文字+名のローマ字(※日本語では精度が下がることがある)
ABC-001ABCハイフンより前の文字列を抽出
東京都新宿区東京都先頭3文字を抽出
「例からの列」が力を発揮する場面
日付の書式変換(「2026-03-21」→「3/21」など)や、複数列の情報を組み合わせた列の作成で特に便利です。M言語の数式を書かなくても、Power Queryが自動で適切なM関数を生成してくれます。生成されたM関数は数式バーで確認でき、M言語の学習材料にもなります。
推定が間違うこともある
パターン推定は万能ではありません。特に日本語のテキストや複雑なパターンでは誤推定が起きることがあります。必ず結果をスクロールして全体を確認し、間違っている行があれば追加の例を入力して精度を上げてください。どうしても正しく推定されない場合は、カスタム列や抽出/分割操作を使いましょう。

重複する列 ― 列のコピーを作る

元の列を残したまま加工したいとき、まず列のコピーを作ってからコピー側を加工するという安全な方法で使います。

操作手順

1. コピーしたい列のヘッダーをクリックして選択します。
2. 列の追加 タブ → 重複する列(または右クリック →「列の複製」)をクリックします。
3. 右端に「列名 - コピー」という列が追加されます。

たとえば「商品コード」列の一部を抽出したいが、元の商品コードも残しておきたい場合、まず「重複する列」でコピーを作り、コピーされた列に対して「変換」タブの「抽出」を実行すれば、元の商品コードはそのまま残ります。ただし前ページで説明したとおり、「列の追加」タブの「抽出」を使えばそもそもコピーは不要です。「変換」タブで操作する前の保険として覚えておいてください。

実践例 ― 売上データにランクと連番を付ける

売上データに「売上ランク」列と「連番」列を追加する例です。

サンプルデータ

商品名カテゴリ売上
商品A食品1500000
商品B雑貨800000
商品C食品3200000
商品D家電500000

Step 1:売上ランクの条件列を追加

列の追加 → 条件列 → 列名「売上ランク」
条件1:売上 が 次の値以上 2000000 → 出力「S」
規則の追加 → 条件2:売上 が 次の値以上 1000000 → 出力「A」
規則の追加 → 条件3:売上 が 次の値以上 500000 → 出力「B」
それ以外の場合:「C」

Step 2:売上の降順で並べ替え

「売上」列のドロップダウン → 降順で並べ替え

Step 3:インデックス列を追加(1から)

列の追加 → インデックス列 → 1から

After

インデックス商品名カテゴリ売上売上ランク
1商品C食品3200000S
2商品A食品1500000A
3商品B雑貨800000B
4商品D家電500000B

3ステップで、売上ランク付き&降順ランキングのデータが完成しました。

どの機能を使うべきか ― 判断フローチャート

新しい列を作りたいとき、どの機能を選べばよいか迷ったら、次の順序で判断してください。

「IF的な条件分岐だけでよいか?」→ はい → 条件列(M言語不要)

「連番を振るだけでよいか?」→ はい → インデックス列

「やりたいことを言葉では説明できるが数式は書けないか?」→ はい → 例からの列(入力例で推定させる)

「四則演算や複合条件(AND/OR)が必要か?」→ はい → カスタム列(M言語の if 文を使用)

ほとんどの実務シーンは①と②でカバーできます。③は便利ですが推定精度に限界があるため、うまくいかなければ④に切り替えてください。

まとめ

「列の追加」タブは、元のデータを壊さずに新しい情報を付加するためのタブです。このページのポイントを振り返ると、条件列はExcelのIF関数をGUIで視覚的に設定できる機能で、規則を追加することでネストIFも簡単に実現できること。カスタム列はM言語を使う必要がありますが、四則演算と if/then/else だけ覚えれば実用に足りること。インデックス列は並べ替えの後に追加することで正しい順序の連番が振れること。例からの列はM言語を知らなくても複雑な変換が作れる可能性がある一方、推定が外れることもあるため確認が必須であること。これらを使い分ければ、Excelの関数で苦労していた列追加の作業が格段に楽になります。