

「受信日時」・「返信日時」の2列から、期間内の経過時間を計算したいです。
Power Queryエディター上で時刻間の計算を行う場合、どうしたら良いですか?

その場合、Power Queryエディター上の「減算」コマンドを使えば良いですよ!
では、詳細を解説していきますね。
はじめに
この記事はパワークエリの概要を把握していることが前提です。
パワークエリの概要については、以下の記事をご参照ください。
この記事は、Excelでパワークエリ(Power Query)を使いたい方向けに、パワークエリの活用ノウハウをExcel本著者が解説。パワークエリの使用イメージ・できること・クエリの新規作成ステップ等を網羅。豊富な図解を用意しています。
「減算」の使いどころ
「減算」コマンドは、クエリの新規作成ステップのうち、STEP2の「取得データを整形/加工(Transform)」に該当する機能です。
クエリ内の一連の整形作業の中で、2つの時刻列の経過時間を計算したい場合に「減算」コマンドを使いましょう。
「減算」コマンドを活用することで、開始時刻から終了時刻までの経過時間を計算できます。
使用イメージ
「受信日時」・「返信日時」列から経過時間を計算する新しい列を追加したイメージが以下です。
Power Queryエディター上で経過時間を計算するステップを登録できました。
「減算」コマンドの場合、デフォルトのステップ名は「挿入された時刻の減算」になる(クエリ内で2つ目以降の「挿入された時刻の減算」ステップは連番が付加)。
なお、「減算」コマンドの結果は、データ型「期間」で値は「0.00:45:00」といった形式(d.hh:mm:ss)になります。
2つの列の期間を日数+時刻で表現。
後は、クエリ新規作成ステップのSTEP2で必要な他ステップを登録したら、STEP3を行いましょう。
これにより、クエリに記録した「減算」コマンドのステップを自動化できます。
「減算」コマンドのステップ登録後、計算対象の列名を変更すると、クエリ更新時にエラーになるため注意(対処法は、後述の「登録したステップの変更手順」を参照)。
クエリの新規作成ステップのSTEP2に役立つ各種コマンドの詳細は「パワークエリ(Power Query)の記事一覧」を、STEP3の手順はパワークエリの概要記事をご参照ください。
パワークエリ(Power Query)に関してのコンテンツです。
この記事は、Excelでパワークエリ(Power Query)を使いたい方向けに、パワークエリの活用ノウハウをExcel本著者が解説。パワークエリの使用イメージ・できること・クエリの新規作成ステップ等を網羅。豊富な図解を用意しています。
ステップ登録手順
「減算」コマンドのステップを登録したい場合、以下の手順となります。
- 計算対象の時刻列を2列選択
※今回は「返信日時」・「受信日時」列 - リボン「列の追加」タブをクリック
- 「時刻」をクリック
- 「減算」をクリック
手順①で選択した列のデータ型が「時刻」・「日付/時刻」・「日付/時刻/タイムゾーン」以外の場合、手順③以降は非活性となる。
手順①で2列の時刻列を選択した場合以外は、手順④は非活性となる。
手順①は、終了時刻→開始時刻の順に選択が必要(1列目-2列目で計算される)。
日をまたぐ時刻間で計算したい場合、手順①で選択する列のデータ型が「日付/時刻」・「日付/時刻/タイムゾーン」でないと、計算結果が誤るリスクあり。
登録したステップの変更手順
「減算」コマンドで登録したステップを後から変更する場合、以下の手順が異なります。
- 「挿入された時刻の減算」ステップの歯車マークをクリック
- 減算の数式を任意の時刻列へ修正
- 「OK」をクリック
手順①のステップ名は、「減算」コマンドのデフォルトの名前(自身でリネームしている場合は別表記)。
手順①はステップ名をダブルクリックでもOK。
手順①で起動した「カスタム列」ダイアログは、ステップに設定した内容がセットされた状態。
カスタム列の詳細は、以下の記事をご参照ください。
はじめに この記事はパワークエリの概要を把握していることが前提です。 参考記事 パワークエリの概要については、以下の記事をご参照ください。 「カスタム列」の使いどころ 「カスタム列」コマンドは、クエリの新規作成ステップの …
サンプルファイルで練習しよう!
可能であれば、以下のサンプルファイルをダウンロードして、実際に操作練習をしてみてください。
サンプルファイル_PowerQueryデータ整形_減算.xlsx
サンプルファイルのダウンロードには無料メルマガに登録いただく必要があります(上記リンクから登録フォームへ遷移します)。
ブックを開いたら、「メール対応履歴」クエリを編集(Power Queryエディター起動)し、次の手順を実施してください(今までの解説のまとめです)。
ブック起動時、「セキュリティの警告」メッセージが表示された場合は「コンテンツの有効化」をクリック。
- 計算対象の時刻列を2列選択
※今回は「返信日時」・「受信日時」列 - リボン「列の追加」タブをクリック
- 「時刻」をクリック
- 「減算」をクリック
本記事の解説と同じ結果になればOKです!
さいごに
いかがでしたでしょうか?
「減算」コマンドを活用することで、開始時刻から終了時刻までの経過時間を計算できます。
既存の時刻列から期間を計算した新しい列に追加することで、条件別の期間の集計等ができるようになりますよ!
なお、パワークエリの各種テクニックは、私の拙著でも体系的に解説していますので、こちらも参考にしてみてください。
また、よりコアな情報を発信していくために「公式LINE」を開始しましたので、ご興味があれば以下バナーから友だち追加をお願いします!
特典として、Excelワークシート関数一覧(計22スライド)やExcelショートカットキー一覧(計25スライド)等をプレゼント!
ご参考になれば幸いですm(_ _)m

「減算」コマンドに慣れたら、他の時刻列の計算に役立つコマンドやM関数もセットで覚えることをおすすめします。
具体的には、時刻列から任意の要素を取得できる「時」・「分」・「秒」コマンドや、時/分/秒の整数を示す複数列から時刻列を作成できるM関数の「#time」です。
M関数はカスタム列からセットできますが、応用的な時刻計算を行う場合に役立つため、パワークエリに慣れてきたらチャレンジしてみてください!