列の値のデータ型を一括で変更する方法[Power Query(パワークエリ)基礎]
AさんAさん

Power Queryエディターに取り込んだら、日付データに時刻までついてしまう場合がありますけど、この場合どうしたら良いですかね?

森田森田

たまにそういうケースもありますね。
その場合、Power Queryエディター上の「データ型の変更」が有効ですよ!

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

はじめに

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

  • データ型の変更を自動化したい方
  • データ整形・加工の工程が複数あり、かつその作業が定期的に発生する方
  • Power Query(パワークエリ)の使い方を習得したい方

前提条件

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

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

Power Query(パワークエリ)でデータ型の変更が必要な2大ケース

そもそも「データ型」とは、データの種類を示すものです。

Excelワークシートの表示形式と似ている概念ですね。

基本的には、整形前データのExcelワークシートの表示形式をもとに、Power Queryエディターへ取り込んだタイミングで最適なデータ型が自動的に設定される仕様です。

しかし、次の2ケースにおいて、データの値にマッチしていない、あるいはユーザーの意図しないデータ型になってしまうケースがあります。

この場合、しっかりと適切なデータ型を設定しないと、場合によっては行いたい整形作業ができない、あるいは整形後データの見栄えが悪くなってしまうという結果につながりますのでご注意ください。

【ケース1Power Queryエディターで取り込んだ段階で不適切なデータ型が設定されてしまった場合

まず、よくあるのは整形前データのExcelワークシートの表示形式で設定していたものと、Power Queryエディターへ取り込んで設定されたデータ型が不一致のケースです。

たとえば、次のように、もともと「日付」だけ表示したかったのに、「日付/時刻」のデータ型が設定されてしまうなどですね。

 これは、完全な間違いではないものの、時刻部分はすべて「0:00:00」という意味のない数値がならび、見栄えが悪いですね。

【ケース2】数値や日付を含んだ文字列データを加工して数値や日付のみにした場合

次に、数値や日付を含んだ文字列から、置換や抽出などで数値や日付のみのデータにするケースです。

たとえば、次のように「円」という単位を除去し、数値のみにしたいとします。

この場合、「円」を除去する前のデータ型である「テキスト」のままになります。

よって、このままでは数値データとして計算できないため、データ型を「整数」などの適したものへ変更させる必要がありますね。

ちなみに、今回の「円」を除去する方法はいろいろありますが、「値の置換」で対応しています。(詳細を知りたい方は下記記事をご参照ください)

Power Query(パワークエリ)でのデータ型変更手順

では、実際にPower Query(パワークエリ)でのデータ型を変更する手順を確認していきましょう。

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

まず、データ型の変更したい列の見出し名の左にあるマークをクリック(①)しましょう。

すると、データ型の一覧が表示されますので、希望のデータ型を選択(②)してください。

【参考】リボン「変更」タブ経由でもOK

ちなみに、リボン「変換」タブにもデータ型の変更を行うコマンドが用意されていますので、こちら経由でもOKです。

まず、データ型を変更したい列を選択(①)しましょう。

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

次に、リボン「変換」タブをクリック(②)し、「データ型:●●」をクリック(③)してください。
●●は手順①で選択した列のデータ型の名称になっています。

最後に、希望のデータ型を選択(④)すればOKです。

若干工程が多いため、こちらよりも先に説明した手順の方がおすすめです。

「プレビュー」ウィンドウ上でデータ型の変更が確認できたらOK

「プレビュー」ウィンドウを見ると、無事「単価」の列は「整数」のデータ型に、「更新日」の列は「日付」のデータ型へ変更されていますね!

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

【参考】データ型の変更内容を変更したい場合は

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

【参考】利用頻度が高いデータ型とは

Power Query(パワークエリ)で選択可能なデータ型は次のとおりです。

上図のとおり、使う頻度の高いデータ型は覚えておきましょう。

  • 10進法
  • 整数
  • パーセンテージ
  • 日付
  • 時刻
  • テキスト

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

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

サンプルファイル_PowerQueryデータ整形_データ型の変更.xlsx

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

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

  1. リボン「データ」タブをクリック
  2. 「クエリと接続」をクリック
  3. 「商品マスタ(データ型の変更)」クエリをダブルクリック

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

なお、「単価」の列は事前に「値の置換」などの整形作業を行う必要があるため、「更新日」の列のデータ型変更をおすすめします。

  1. データ型の変更したい列の見出し名の左にあるマークをクリック(①)
  2. 希望のデータ型を選択(②)

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

さいごに

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

データ型の変更はPower Query(パワークエリ)における基本中の基本のテクニックです。

利用頻度はめちゃくちゃ高いので、これはマスト中のマストで覚えてください。

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

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

森田森田

Power Query(パワークエリ)のデータ型は、Excelワークシートの表示形式のような細かい設定はできません。

最終的に、データ型では表現できない表示形式でExcelワークシート上に返したい場合は、Power Query(パワークエリ)からExcelワークシートへ出力後に別途セルの表示形式を設定する必要がありますので、ご注意くださいね。