Power Query : 単位付きの値を数値化する

多様なデータを統合すると、値に単位が付いていたりいなかったり単位が不統一だったりします。そうした不ぞろいの入力値をPower Queryで同質の数値データに置き換える方法を説明します。

Before
Power Query 01

After
Power Query 02

操作手順

値付き数字の列を選択し、[ホーム]タブの[列の分割]-[数字から数字以外による分割]をクリックする

[数量]列が[数量.1][数量.2]の2列に分割され、数字と文字が分離されます。
Power Query 03

[数量.2]列を選択し、[値の置換]-[値の置換]をクリックする
ダイアログボックスで「ダース」を「12」に置換する

PowerQuery-2Power Query 04

数量を表す単位のテキストを数値化する操作です。「K(キロ)」や「万」なども同様です。

[数量.2]列を選択し、[データ型:]で「テキスト」から「整数」に変換する

整数化できない文字列が「Error」となります。
Power Query 05

数量を表さない単位(個、本、式など)をひとまずErrorとしてまとめる操作です。
ワークシートでは「エラーにならないように加工しておく」のが常ですが、Power Queryでは「加工するためにエラーを引き出す」という使い方をします。今回は置換に使いますが、不要な行の削除などにも使えます。

[値の置換]-[エラーの置換]をクリックし、ダイアログボックスで「null」に置換する

PowerQuery-6

[値の置換]-[値の置換]をクリックし、ダイアログボックスで「null」を「1」に置換する

Power Query 06

ここまでで、必要な値が出そろいました。以降はこれらを成形していきます。

[数量.1]列を選択し、 [データ型:]で「テキスト」から「整数」に変換する

[列の追加]タブの[カスタム列]をクリックする
ダイアログボックスで、新しい列名を「数量」に、カスタム列の式を「=[数量.1]*[数量.2]」を指定する

PowerQuery-7

数式の実行結果の[数量]列が追加されます。
Power Query 07

[数量]列のデータ型を整数に変更する
[数量]列をドラッグして売価の前に移動する

[数量.1][数量.2]列を選択して、[ホーム]-[列の削除]-[列の削除]をクリックする

ワークシートのように数式が入力されているわけではないので、中継的な列は不要になった時点で削除してかまいません。

これで、不ぞろい単位付きの数字の列を等質の値の列に変換できました。
以降は、売価と数量から「単価」のカスタム列を作成することも可能です。

PowerQuery-9

記録されたステップ

タイトルとURLをコピーしました