PR

Power Queryで半角・全角の表記を統一する

Power Queryで半角・全角を表記を統一する Power Query応用

半角を使うか、全角を使うかは人によって違ったりします。データとして分析する場合はどちらかに統一する必要があります。

ExcelではASC関数、JIS関数を使えば簡単に変換可能です。

半角に変換する場合はASC関数を使います。

=ASC([@テキスト])

全角に変換する場合はJIS関数を使います。

=JIS([@テキスト])

関数一つで簡単に変換できましたね。しかし、Power Queryには一発で半角・全角に変換できる関数はありません。

いくつかの関数を組み合わせて実装する必要があります。

次のStep1~Step3の流れで変換を行います。例は半角へ変換するケースです。

数字のみを半角へ変換する方法については、次の記事で解説しています。

サンプルデータ

次の全角カナ、英数、記号の一覧を用意します。サンプルデータを使って半角に変換していきます。

半角の変換が出来たら全角への変換は少し数式をいじれば良いので、半角のサンプルデータは省略します。

データの加工

全角から半角へ変換するには、カスタム列に次の数式を書きます。

= List.Accumulate(
    Table.ToRows(全角半角変換テーブル), [テキスト], 
    (x,y)=>Text.Replace(x, y{0}, y{1})
)

ぱっと見分かりにくいので、Step1からStep3に分けて解説します。

全角半角の変換テーブルを作成する

Step1として、次のような全角と半角の変換テーブルを別シートに作成します。

自力で作るのは骨が折れるので、全角半角変換テーブルのExcelを用意しました。ダウンロードしてお使い下さい。

Power Queryで利用するために、データの取得を行います。

変換テーブルのセルのどれかをクリックした状態で、「データ」タブー「データの取得」ー「テーブルまたは範囲から」をクリックします。

データの取得が出来ました。

自力で変換テーブルを作成する場合は、Copilotなどの生成AIを活用するのがオススメです。

「全角と半角の英数記号カナの1文字ごとの変換表を作成して下さい」などの指示を出せば作成してくれます。

思った通りの結果にならないことも多いので、適宜修正の指示を出せば簡単に作成できるかと思います。

変換テーブルをリストに変換する

作成した変換テーブルをPower Queryが変換処理に活用できるリスト形式に変換します。

Table.ToRows関数にテーブル名を引数に入れます。

Table.ToRows(全角半角変換テーブル)

Power Queryエディタでどういった表記になるか、空のクエリに数式を書いて確認してみました。

1つのセルに、{全角文字, 半角文字}といったように、リスト形式に変換されていることが分かります。

半角へ変換する

Step2で作成したリスト形式の変換テーブルと全角文字を突合して、半角に変換します。

「列の追加」タブを開き、「カスタム列」をクリックします。

「新しい列名」に「半角変換」と入力、「カスタム列の式」に後述の変換式を入力し、OKをクリックします。

変換にはList.Accumulate関数を使います。

= List.Accumulate(
    Table.ToRows(全角半角変換テーブル), [テキスト], 
    (x,y)=>Text.Replace(x, y{0}, y{1})
)

第1引数にStep2で作成した数式、第2引数に変換前の列、第3引数に変換式を書きます。xが変換前の列、y{0}が全角列、y{1}が半角列に相当します。

Text.Replaceを使って、変換前の列(x)の文字(y{0})を半角の値(y{1})に置換します。

半角に変換されました。

Excelのシートにデータ出力します。「閉じて読み込む」ボタンをクリックします。

半角変換された文字がデータ出力されました。

全角へ変換する

全角へ変換する場合は、Text.Replace関数の引数のy{0}とy{1}を入れ替えれば良いです。

= List.Accumulate(
    Table.ToRows(全角半角変換テーブル), [テキスト], 
    (x,y)=>Text.Replace(x, y{1}, y{0})
)

Excel/Power Queryのデータ加工相談サービス

Excel/Power Queryのデータ加工で悩んでおり、ネットや本で調べても解決しない場合は、一度ご相談下さい。

やりたいことをヒアリングして解決までサポートいたします。

ご相談内容の例
  • 前任者が作ったExcelファイルの数式等が意味不明で困っている
  • Power Queryを使ってExcelでデータ加工を行いたいが、うまく使いこなせない
  • 手作業が多く、業務効率化を行いたいが、どう進めていいか分からない

ココナラでご相談を受け付けております。ココナラの会員登録が必要になります。

Power Queryの学習に役立つおすすめ本
初心者向け 初心者~中級者向け 中級者~上級者向け
プロフィール
たがみ

IT業界20年程度のシステムエンジニアです。
構築したシステムのデータ検証をExcelで実施することが多く、検証作業の効率化を模索しているときにPower Queryと出会いました。
Excel業務効率化の手助けになればと当ブログを解説しました。
今ではデータ分析でPower BIを活用しており、Power BI、Excelの両方でPower Queryを活用しています。

たがみをフォローする
Power Query応用
たがみをフォローする
タイトルとURLをコピーしました