Power Queryで列を追加・変換する方法

2026年9月14日 | Excel・Power Query

仕入先CSVを販売用データへ変えるときは、商品コードの整形、金額計算、確認区分の追加などが必要になります。Power Queryなら、その操作を手順として保存し、次回のCSVにも同じ変換を適用できます。

この記事では、既存列を残したまま新しい列を作る方法と、元の列を直接変換する方法を使い分けます。

最初は元の列を残してください。
変換結果を確認できるまでは、「列の追加」で新しい列を作る方が安全です。元データと比較して問題がなければ、不要な列を最後に削除します。

列の追加と変換の違い

操作向いている作業確認しやすさ
列の追加金額計算、区分判定、整形後コード元の列と横に並べて比較できる
変換空白除去、型変更、値の置換元の値が変わるため事前確認が必要

1.数量×単価で金額列を作る

  1. Power Queryエディターで「列の追加」タブを開きます。
  2. 「カスタム列」を選び、新しい列名を「金額」にします。
  3. 数式欄へ [数量] * [単価] と入力します。
  4. 追加後の「金額」列を整数または必要な小数型へ変更します。

カスタム列では、既存列を使った計算式を作れます。操作画面の詳細は、Microsoftのカスタム列の解説も参考になります。

空欄とエラーを先に確認
数量や単価に文字、空欄、変換エラーがあると、金額列にも影響します。すぐに0へ置き換えず、元データの修正が必要かを確認してください。

2.条件列で「要確認」を付ける

高額商品などを目視確認したい場合は、「列の追加」→「条件列」で判定を作れます。たとえば学習用として、単価が3,000以上なら「要確認」、それ以外は「通常」と設定します。

カスタム列で書く場合の例は次のとおりです。

if [単価] >= 3000 then "要確認" else "通常"

3,000という値は説明用です。実務では利益率、販売チャネル、担当者の確認基準に合わせて決めます。

3.商品コードを整形する

商品コードの前後に不要な空白がある場合は、列を選び、「変換」→「書式」→「トリミング」を使います。カスタム列なら次のように書けます。

Text.Trim([商品コード])

6桁固定のコードへゼロ埋めする例は次のとおりです。

Text.PadStart(Text.From([商品コード]), 6, "0")
ゼロ埋めで元データは復元できません。
「101」が本当に「000101」なのかは、6桁固定という仕様が分かっている場合だけ判断できます。コード体系が不明なまま桁を補わないでください。

読み込み時に先頭ゼロを残す方法はこちら →

4.値の置換を使う

販売チャネル名の表記をそろえる場合は、対象列を選択し、「変換」→「値の置換」を使います。たとえば「Amazon.co.jp」と「Amazon」を一つの表記に統一できます。

置換は列全体へ適用されるため、似た文字列まで変わらないかプレビューで確認します。Microsoftの値とエラーの置換手順

5.エラーを消す前に絞り込む

  1. 列見出しのフィルターを開き、「エラー」を確認します。
  2. 元CSVの該当行と見比べ、型違い・空欄・記号混入などの原因を調べます。
  3. 修正ルールが決まったものだけ置換または変換します。
  4. 判断できない値は別の確認用クエリへ残します。

エラーを一律に0へ置き換えると、欠損と本当の0を区別できなくなります。「エラー件数が0件」だけでなく、置換した件数も確認できる流れが安全です。

更新前後の確認チェック

まとめ

Power Queryで列を加工するときは、最初に「列の追加」で元の値と比較し、確認後に不要列を整理します。金額計算、条件判定、コード整形を別々のステップにすると、後から原因を追いやすくなります。

小さな会社のExcel自動化50選の表紙

Excel自動化を段階的に進めたい方へ

『小さな会社のExcel自動化50選』では、Power Queryを含む改善策を導入例と確認ポイント付きで紹介しています。

Amazonで本を見る

※著者本人による著書紹介です。価格や提供条件はAmazonでご確認ください。