確認日時:2026-10-17T23:59:13.6892056Z
確認環境:{"excel_version": "16.0", "excel_build": 20430, "os": "Windows (64-bit) NT 10.00", "engine": "Microsoft.Mashup.OleDb.1 / native Excel Power Query"}
確認した範囲
- 掲載MコードをそのままネイティブPower Queryで実行
- 事前に作った独立の期待表と列名・全行の値を照合。日時のZと+00:00は同じUTC表現として比較。
未確認・対象外
- 記事のGUIクリック経路
- 他Excel版・他OS・業務データ
実機での処理結果の確認と、記事の全画面操作の確認は別です。実行確認の記録(JSON)で確認結果と原稿のSHA-256を参照できます。
できあがるもの
2026-10-18 03:00:00 +09:00、同日09:30:00 +09:00です。元UTCも保持します。
始める前に
- Windows版Excel for Microsoft 365のPower Queryエディターを対象とします。データタブから空のクエリを作成できる環境が必要です。Mac版・Web版や古い版の画面手順は対象外です。
- 新規の検証ブックを使用します。コード中の架空入力だけを扱い、既存クエリ・認証情報・プライバシーレベルや業務ファイルは変更しません。
下記コードのSourceに入力例をすべて含めています。#tableは列と行を持つ表、{ }はリスト、[ ]はレコードです。日付は#date、日時は#datetime等のMリテラルで指定し、PCの表示形式や地域設定で解釈が変わらないようにしています。外部データへの接続はありません。
手順
- Excelのデータタブから「データの取得」→「その他のデータソースから」→「空のクエリ」を開きます。Power Queryエディターでクエリ名を「検証_datetime_zone_japan」にし、他のクエリと区別します。
- ホームの詳細エディターを開き、初期のコード全体を次で置き換えます。先頭のletから末尾のResultまでを含め、途中の式だけを数式バーへ貼らないでください。
let Source = #table(type table [UTC=datetimezone],{{#datetimezone(2026,10,17,18,0,0,0,0)},{#datetimezone(2026,10,18,0,30,0,0,0)}}), Result = Table.AddColumn(Source,"日本時間",each DateTimeZone.SwitchZone([UTC],9),type datetimezone) in Result - 完了を押し、適用したステップでSourceとResultを順に選択します。Sourceの入力構造とResultの行数・列名・値を比較します。列名の大文字小文字、nullと空文字、数値と文字列は区別して確認してください。
- 期待結果に記した全行を照合します。必要なら閉じて読み込むの読み込み先で新規ワークシートを選びます。もう一度クエリを更新し、結果が同じになることを確認します。実務へ転用する前に入力の列名・型・例外方針を決め、検証用のSourceだけを接続元へ置き換えます。
期待結果と照合する
2026-10-18 03:00:00 +09:00、同日09:30:00 +09:00です。元UTCも保持します。
まずこの入力例で確認し、件数や値が一致しているかを見ます。完了表示だけで判断せず、重複・空欄・対象外データも残っていないか確認してください。
うまくいかないとき
- 時差のないdatetimeに9時間を足す前に、入力のタイムゾーンを確認します。SwitchZoneは時点を維持して表示帯域を変更します。
- Power QueryはExcelのセル数式とは別のM言語です。式のカンマ・二重引用符・括弧を省略しないでください。明示した並べ替えがない結果は行順を保証する用途に使わず、値の組と件数で照合します。
止める・元に戻す
検証用クエリと、そのクエリから新規に読み込んだシートだけを削除するか、検証ブックを保存せず閉じます。業務ブックの既存クエリを上書きしないため元の処理はそのままです。外部ファイルの内容を変更するコードはありません。
公式資料・対応範囲
参照日:2026-10-18。公式資料の一般的な機能説明と、本記事固有の入力例の実行検証は別です。実務での短縮時間や効果は未計測です。