列の値の前後にある空白を一括で除去する方法(トリミング)[Power Query(パワークエリ)基礎]
AさんAさん

文字の前に余計な空白(スペース)があって邪魔なので、取り除きたいですが、これもPower Query(パワークエリ)で対応できるものですか?

森田森田

はい、対応できますよ!
その場合、Power Queryエディター上の「トリミング」というコマンドが有効ですよ!

具体的な使い方について解説していきますね。

解説動画:【パワークエリ#6】データクレンジング基本テクニック13選 - 元データを綺麗にするための不備修正の作業を自動化する

この記事の内容は下記の動画でも解説しています。
コメント欄の「トリミング」の時間の部分をクリックするとトリミングの解説へジャンプできますよ!

はじめに

本題に入る前に、この記事がおすすめな方を挙げてみます。

  • 文字列の前後にある空白(スペース)の除去作業を自動化したい方
  • データ整形・加工の工程が複数あり、かつその作業が定期的に発生する方
  • Power Query(パワークエリ)の使い方を習得したい方

前提条件

この記事のテクニックを使うためには、以下の条件を満たす必要があります。

  • ExcelのバージョンはExcel2010以降(Microsoft365含む)が必須
  • Excel2010/2013ユーザーの場合、事前にMicrosoft社公式HPよりPower Query(パワークエリ)のダウンロードが必要(Excel2016以降は標準機能)
  • Power Query(パワークエリ)の概要を理解していること
    →まず、以下の記事で概要を把握することをおすすめします。

元データの文字列の前後に空白(スペース)がある場合に「トリミング」が有効

トリミングとは、不要なものを取り除くことを指し、この場合のトリミングは値(文字列)の前または後の空白文字(スペース)を除去することを指します。

このトリミングが必要なケースは、次のようなイメージです。

こうしたケースは、人が手入力した際に、誤って空白を余計に打ち込んでしまい発生することがほとんどです。

よって、トリミングで効率的かつ確実に不要な空白を除去しましょう。

ちなみに、Excelワークシート上で値のトリミング作業を行う際は、TRIM関数の利用が一般的です。

ただし、他のデータ整形作業とセットで行うなら、Power Query(パワークエリ)で行った方が、一連の作業手順を記録できて自動化できますよ!

では、Power Query(パワークエリ)でのトリミングの手順を確認していきましょう。

Power Query(パワークエリ)でのトリミング手順

今回の前提として、トリミングを行う対象テーブルはブック内にあり、事前にPower Queryエディターに取り込んでいる状態からスタートするとします。(ブック内のデータ取得について復習したい方は下記記事を参照)

まず、トリミング対象のデータが含まれる列を選択(①)しましょう。

これは、通常のワークシート上の操作と同じ感覚で問題ありません。

次に、リボン「変換」タブをクリック(②)し、「書式」をクリック(③)してください。

最後に、「トリミング」をクリック(④)します。

「プレビュー」ウィンドウ上で値の前後の空白が除去されたことを確認できたらOK

「プレビュー」ウィンドウを見ると、無事「氏名」の全データの空白が除去されていますね!

特に、5つ目のデータは氏名の前に2つも空白(スペース)がありましたが、完全に除去されています。

あとは、その他の処理を行い、任意の方法でデータを出力すれば完了です。

【注意】Power Query(パワークエリ)のトリミングとTRIM関数は仕様が異なる

なお、このPower Query(パワークエリ)のトリミングについて、注意が必要なのはTRIM関数とまったく同じ仕様ではないことです。

どういうことかというと、TRIM関数の場合は、文字列の前後に加え、文字と文字の間にある2つ目以降の空白は除去する仕様ですが、Power Query(パワークエリ)のトリミングは文字列の前後にある空白のみの除去となります。

どんなイメージか、次のイメージを見ると理解しやすいですね。

よって、Power Query(パワークエリ)でトリミングする際は、TRIM関数と仕様が違うことを踏まえてご利用くださいね。

なお、Power Query(パワークエリ)で文字と文字の間の空白を除去する必要がある場合は、「値の置換」を活用すると良いでしょう。

たとえば、文字と文字の間に2つ連続の空白があるのであれば、次のような設定で「値の置換」を行えば問題なく除去できますよ。

元データによって、臨機応変に対応しましょう。

【参考】トリミング内容を変更したい場合は

もし、あとでトリミングした内容や対象データを変更したい場合は、「クエリの設定」ウィンドウの該当のステップを一旦「×」で削除し、改めてトリミング処理を行えばOKです。

サンプルファイルで練習しよう!

可能であれば、以下のサンプルファイルをダウンロードして、実際に操作練習をしてみてください。

サンプルファイル_PowerQueryデータ整形_トリミング.xlsx

※サンプルファイルのダウンロードには無料メルマガに登録いただく必要があります。
(上記リンクから登録フォームへ遷移します)

ファイルを開いたら、トリミングを行う前に、Power Queryエディターを起動させてくださいね。
ブック起動時、「セキュリティの警告」メッセージが表示された場合は「コンテンツの有効化」をクリックしてください。

  1. リボン「データ」タブをクリック
  2. 「クエリと接続」をクリック
  3. 「社員マスタ(トリミング)」クエリをダブルクリック

ここまで準備ができたら、次の手順を実施してください。(今までの解説のまとめです)

  1. トリミング対象のデータが含まれる列を選択
  2. リボン「変換」タブをクリック
  3. 「書式」をクリック
  4. 「トリミング」をクリック
  5. OK」ボタンをクリック

本記事の解説と同じ結果になればOKです!

さいごに

いかがでしたでしょうか?

トリミングはデータ整形作業の中でもオーソドックスな処理のひとつです。

実務ではヒューマンエラーがきっかけで元データに不備がある場合は多いため、身に着けておくと役立つ機会がきっとありますよ。

なお、Power Query(パワークエリ)の各種テクニックは、私の拙著でも体系的に解説していますので、こちらも参考にしてみてください。


ご参考になれば幸いですm(_ _)m

森田森田

Power Query(パワークエリ)でのトリミングは、TRIM関数と仕様が違う点はあるものの、手軽なのは間違いありません。

クセを把握した上で、実務の効率化を図っていきましょう。