エクセルは四則計算がミスなく簡単に行えるのが便利です
ところが、単純な引き算の対象が「時間」になると数倍ハードルがあがります
24をかけたり、60で割ったりして変換処理を行い、経過時間を計算することになります
日付を跨ったりすると、差分の計算式は大変なものになります
何より問題なのは、ミスが起きやすくなることです
自分も0.5時間をよく50分と間違えたりしていました
ところが、Power Queryならば直感的なクリック操作のみで計算できます
今回は、名前の列に空欄がある下の表から3つの「経過時間」を計算します
*記事の最後に完成版のサンプルファイルがあります
A.日別の勤務時間(行単位)
B.日別の勤務日数(行単位)
C.名前別の合計勤務日数(名前別単位)
このPower Queryの操作のポイントは、実は「日本語」です!
では、Power Queryエディタ(以降、エディタ)に上のデータテーブルを読み込んだところから解説をはじめます!
目次
1.行単位
2.名前別単位
3.<まとめ>
1. 行単位
A-1.列の選択
まず、「勤務終了時刻」次に「勤務開始時刻」の順番で「Ctrlキー」を押しながら選択してください
詳細は後述しますが、この選択順が重要なんです
A-2.減算処理
次に「列の追加」タブから「時刻」⇒「減算」と順にクリックしてください
すると、次のように「勤務終了時刻-勤務開始時刻」の差が時間単位で計算されます
減算結果の見方が少し特殊です
次の画像の黄色の箇所に注目すると分かり易いです
表示は「日付.時間:分」の順で表示されています
前述のCtrlキーで選択する順番を間違えると、この表示がマイナスになるので注意が必要です
A-3.日別の勤務時間(行単位)
では、②で算出した「減算」の列を経過時間に変換します
ポイントは前述の通り「日本語」です
「変換タブ」に移動して「時間」ではなく「合計時間数」をクリックします
すると、下の画像のように「経過時間」が計算されています
きちんと、30分が0.5時間に変換されています
ちなみに「合計時間」という表現は日本語としておかしいですよね・・・
B. 日別の勤務日数(行単位)
まず、適用のステップで1つ前の処理を削除します
そして、減算の列を選択し直して、次の画像のように「合計日数」をクリックします
すると、日数ベースでの経過時間が算出されます
結果が正しいかどうかを判断するのは難しいと思います
上の画像の黄色の箇所に注目してもらえれば、算出結果が正しいことがすぎに分かると思います
2. 名前単位
C. 名前別の合計勤務日数
ここからPower Queryの真骨頂です
過去の記事で紹介したフィル機能を活用して、名前の列の空欄を埋めます
次の画像の通り、名前の列から空欄が消えました
続きを読む Power Queryって何??~経過時間を一括で計算する