ADVERTISEMENT

【Excel】Power Queryで日付列が文字列として読み込まれる時の型変換手順

【Excel】Power Queryで日付列が文字列として読み込まれる時の型変換手順
🛡️ 超解決

Power Queryで外部データを取り込む際、日付と認識されるべき列が文字列として読み込まれてしまうことがあります。この現象は、元データの書式やロケール設定、Power Queryの自動型変換の失敗など、いくつかの原因が考えられます。本記事では、Power Queryにおいて日付列が文字列として読み込まれる原因を詳しく解説し、確実に日付型へ変換する手順を紹介します。また、変換時に注意すべき点や、失敗した場合の対処法についても説明します。

【要点】この記事で確認すること

  • 最初に見る場所: Power Queryエディタで該当列を選択し、データ型アイコンが「ABC」(テキスト)になっているか確認する。
  • 切り分けの軸: 元データの書式(日付として保存されているか)、Power Queryの自動検出設定、地域の日付形式の違い。
  • 注意点: 変換後もエラーが出る場合は、元の文字列の形式と変換先の日付形式が合っているか確認。会社PCではPower Queryの設定変更前に管理者に確認する。

ADVERTISEMENT

1. なぜ日付列が文字列として読み込まれるのか? – 主な原因

Power Queryは、データのインポート時に各列のデータ型を自動的に推測します。しかし、以下のような理由で日付列が文字列として扱われることがあります。

  • 元データの書式が統一されていない: 例えば「2023/1/1」と「2023-01-01」が混在していると、Power Queryは日付と判断できず文字列として読み込みます。
  • ロケール(地域設定)の違い: 日付形式は国や地域によって異なります(例:米国は月/日/年、日本は年/月/日)。Power Queryの自動検出はExcelの地域設定に依存するため、想定と異なる形式で認識されることがあります。
  • 先頭行のサンプルデータに依存: Power Queryは先頭の数行を参照して型を決定します。最初の数行が空欄や明らかに日付でない値だと、文字列と判定されやすいです。
  • 元のセルが文字列書式で保存されている: Excelのシート上で日付が文字列として入力されている場合、Power Queryでもそのまま文字列として読み込まれます。
  • CSVやテキストファイルの日付が引用符で囲まれている: 引用符で囲まれた値はすべて文字列として扱われます。
お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

2. 状況別:文字列列の日付形式と変換方法の比較表

日付の文字列表現にはさまざまなバリエーションがあります。それぞれに適した変換方法を以下の表にまとめました。

文字列の例 元の形式 変換方法
2024/12/25 yyyy/mm/dd [データ型]→[日付](日本ロケールなら自動認識)
12/25/2024 mm/dd/yyyy [データ型]→[日付](米国ロケールに変更してから)
2024-12-25 yyyy-mm-dd [データ型]→[日付](ISO形式はほぼ自動認識)
25-Dec-2024 dd-mmm-yyyy [ロケール]を英語(米国)に変更してから[データ型]→[日付]
2024年12月25日 yyyy年mm月dd日 [置換]で「年」「月」「日」を消してから[データ型]→[日付]、またはカスタム書式

3. 基本的な型変換手順(Power Queryエディタでの操作)

最もシンプルな方法は、Power Queryエディタ上で列のデータ型を変更することです。以下の手順で行います。

  1. Excelで[データ]タブ→[テーブルまたは範囲から]または[データの取得]で対象データをPower Queryに読み込みます。
  2. Power Queryエディタが開いたら、日付として扱いたい列を選択します。列ヘッダー左側にデータ型アイコンが表示されます。文字列であれば「ABC」と表示されています。
  3. 列ヘッダーの左端にあるデータ型アイコン(ABC)をクリックし、ドロップダウンから[日付]を選択します。
  4. Power Queryが自動的に変換を試みます。変換に成功するとアイコンがカレンダー型に変わります。このとき一部の行でエラーが発生する場合があります(後述)。
  5. 変換後、[ホーム]タブ→[閉じて読み込む]でExcelシートに結果を反映します。
  6. 必要に応じて、[閉じて読み込む]の代わりに[閉じて読み込む先]を選択し、読み込み先を指定することもできます。

この手順でうまくいかない場合、原因は主に日付形式の不一致です。次のセクションで対処法を説明します。

ADVERTISEMENT

4. 日付形式が特殊な場合の対処法(カスタムロケール、書式指定)

4-1. ロケールを変更する方法

例えば「12/25/2024」のような月/日/年の形式は、日本ロケールでは日/月/年と解釈されるため変換エラーになります。この場合は、クエリのロケールを米国に一時的に変更します。

  1. Power Queryエディタで、リボンの[ホーム]タブにある[データソース設定]グループの[ロケールの変更]をクリックします。
  2. [ロケール]ダイアログで、[データ元のロケール]を「英語(米国)」など適切な地域に変更します。
  3. その後、対象列のデータ型を[日付]に変更します。ロケールが変わったことで正しく解釈されるようになります。

4-2. カスタム列で書式を指定して変換する方法

ロケール変更では対応できない複雑な形式(例:「2024年12月25日」)や、一部の文字列を除去する必要がある場合は、カスタム列を作成してDate.FromText関数を使用します。

  1. Power Queryエディタで、[列の追加]タブ→[カスタム列]をクリックします。
  2. [新しい列名]に適当な名前(例:「日付変換」)を入力します。
  3. [カスタム列の式]に次のようなM関数を記述します。
    Date.FromText([日付列], [Culture="ja-JP"])
    必要に応じてカルチャを変更します(例:英語なら “en-US”)。
  4. また、事前に「年」「月」「日」を削除したい場合は、[変換]タブ→[置換]で文字を除去してから変換する方法もあります。
  5. 変換後、元の列を削除し、新しい列の名前を必要に応じて変更します。

5. 型変換に失敗したときのエラーの見方と対処

型変換を実行すると、一部の行で「Error」と表示されることがあります。これはその行の値が日付として認識できなかったことを意味します。以下の手順で原因を特定し対処します。

  • エラーの内容を確認する: エラーが発生しているセルをクリックすると、画面下部にエラーの詳細(例:「データの形式が正しくありません」)が表示されます。
  • エラー行を抽出する: [ホーム]タブ→[行の保持]→[エラーを保持]でエラー行だけを表示し、どんな値が含まれているか確認します。
  • 原因に応じた対処: 例えば、空文字列や「-」のようなプレースホルダーが混入している場合は、変換前にそれらをnullまたは適切な日付に置き換えます。また、日付形式が混在している場合は、統一するための前処理を行います。
  • 変換後にエラー行を除外する: どうしても変換できない行がある場合は、[行のフィルター]でエラーを除外することも可能です。

6. 管理者に確認すべき設定事項

会社のPCでPower Queryを使用する場合、以下の設定については管理者に確認することをおすすめします。

  • Excelの地域設定: コントロールパネルの地域設定が変更できるかどうか。
  • Power Queryのプライバシーレベル: データソースのプライバシーレベルが原因で結合や変換が制限される場合があります。
  • グループポリシーによる制限: 一部の企業ではPower Queryの機能が制限されている可能性があります。
  • バージョン依存の問題: 古いバージョンのExcelではPower Queryの機能に制限があるため、最新バージョンへのアップデートを依頼することも検討します。

7. よくある質問(FAQ)

Q1. 変換後も日付がシリアル値で表示されるのはなぜ?

Excelのセル書式が標準または数値になっている可能性があります。セルの書式を日付に設定してください。

Q2. Power Queryで変換したのに、Excelに読み込んだら文字列に戻っている。

読み込み時にデータ型が維持されない場合があります。Power Queryの読み込み設定で「データ型の保持」を確認するか、読み込み先をテーブルに指定してください。

Q3. CSVファイルの日付がすべて文字列になる。毎回手動で変換するのが面倒。

Power Queryで作成したクエリを保存しておけば、同じCSVを読み込むたびに変換手順が自動適用されます。「閉じて読み込む」ではなく、「閉じて読み込む先」で接続のみ作成しておき、データを更新する方法が便利です。

まとめ

Power Queryで日付列が文字列として読み込まれる問題は、元データの形式やロケール設定が原因であることがほとんどです。基本的な型変換操作に加え、ロケール変更やカスタム列による変換を使い分けることで、ほとんどのケースに対処できます。変換後のエラーは原因を特定し、必要に応じて前処理を行ってください。会社のPCでは管理者設定に留意し、効率的なクエリの再利用を心がけましょう。これらの手法を身につければ、日付データの取り込み作業が格段にスムーズになります。


📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】

ADVERTISEMENT