作業に「何日」「何時間」かかるか知りたい!Excelで処理時間を計算する方法

MMDにて3DCGによる多彩な動画が作れる事に魅入られ、「カイト伝」をはじめとするMMDアニメーションを制作中。
その他、ゲーム実況などにも手を出す。

この記事は2017年11月25日に書かれたものです。
現在は内容が古い可能性もありますのでご注意ください。

例えばですけど「1件あたり◯秒かかる作業を◯◯◯件やるとしたら、どのくらい時間がかかるのか?」ってのを計算したい時ってあると思います。

こういう時、Excelで式を作って計算しようと思うわけですが、時間の計算ってなかなか難しいんですよね。

24時間以上表示させようと思ってもなかなかうまくいかなかったりして、「何日と何時間かかる」という値を求めるのは結構大変です。

私もExcelはそこまで得意ではないですが、過去、必要に迫られたことがあり、どうにかこうにか完成したので、その方法をお伝えしたいと思います。

想定としては、上司から

「1件あたり90秒かかる作業を1655件やるとしたら、一体どれだけの時間がかかるのか計算してくれ」

と頼まれたということにしましょうかね。

それでは早速いきましょう!

いきなりですが、これが完成した時のイメージです。

完成イメージ

今回は1人が7時間働いたと仮定しました。
結果、5日と6時間必要という事になります。

最終的には、「処理する件数」「人数」「1日の稼働時間」が変化しても対応できるようにしたいと思います。

数値の変化にも対応

ステップ1:項目を作ろう!

必要な項目は以下の通りです。

  • 処理する件数
  • 1件あたりにかかる処理時間(秒)
  • 全ての処理にかかる時間(秒)
  • 全ての処理にかかる時間(時間:分)
  • 人数
  • 1日の稼働時間
  • 処理完了に要する日数

列の幅は各自で調節してください。

必要な項目

ステップ2:全ての処理にかかる時間を計算しよう!

まずは全ての処理にかかる時間を計算しましょう。

計算式は

「処理する件数」×「1件あたりにかかる処理時間(秒)」

です。
ではセル「C2」に次の計算式を入れましょう。

=A2*B2

すると、C2に表示される計算結果は「148,500」秒となります。
でも上司に「1655件を処理するのに必要な時間は148,500秒です!」って言ったら怒られちゃいますよね。

なのでこれを何時間何分という形に持っていきましょう!

 

ステップ3:全ての処理にかかる時間を何時間何分と表示させる

ここから結構難しくなります。頭をクリアな状態にして計算していきましょう!

この「148,500秒」を分にしようと思ったら60で割ればいいですよね。すると

148500秒÷60秒=2482.5分

更に時間にするために60で割ると

2482.5分÷60分=41.375時間

となります。これで大体、41時間かかるんだなってことが分かります。

これを「何時間何分」のようにしたいと思って単純に時間で表示しようとすると、時計になってしまい「9:00:00」って感じで表示されちゃいます。これでは使い物になりません。

といわけで「関数」を使って計算していきます。
使用する関数は「INT」と「MOD」です。

と、その前に、先ほど計算された「41.375時間」を時間と分に分解してみましょう。

41は時間、0.375は分ということになります。

41時間はわかりますが「0.375分」ってのは分かりづらいですよね。
この0.375は「2482.5分」を時間にするために60で割った時に発生した「余りの部分」です。

この0.375を分に戻そうと思うと再び60を掛ける必要があります。計算すると、

0.375分×60=22.5分

ということで、大体22分ということが分かります。
(ちなみに0.5が秒ですね。まあ、秒までは必要ないので捨てましょう)

これを同時に計算することができれば、「何時間何分かかるか」が分かるようになります。

要するに

「41.375」という時間を計算しながら、41の部分を切り離して時間とし、0.375の部分を分に戻して合体させればいい

という事です。

そこで役に立つ関数が「INT」と「MOD」というわけです。

まずINTは整数の部分だけを取得します。「41.375」なら「41」の部分を求めます。

次にMODですが、これは割り算したときの余り、つまり2482.5分÷60の割り算で発生した余りの部分を計算します。

結果、計算式は次のようになります。

=INT(C2/60/60)&”時間”&MOD(INT(C2/60),60)&”分”

これで「41時間22分」と表示されます。

計算式

」で計算結果を繋げ、計算結果の間に「“”」で単位を入れています。
これがないと「4122」となってしまいますからね。

ちなみに「MOD(INT(C2/60),60)」としてこの箇所にINTを入れている理由は、MODで計算すると22.5分となるので「22」の部分だけを取得するためです。

さあ、これで上司に「全て処理するのに41時間22分です!」と答えることができます!

ですが、仕事の稼働時間は1日あたり約7~8時間です。
今度はこの41時間22分が「勤務日数では何日で終わるのか」を計算しなければなりません。

 

ステップ4:1日の稼働が7時間として何日必要かを求める

もうここからはチャチャッといっちゃいましょう!

  • 働く人数が1人(E2のセルに人数を入力)
  • 1日の稼働が7時間(F2稼働時間を入力)

とした場合、セルG2に入力する計算式は次のとおりです。

=INT(((C2/60)/60)/(E2*F2))&”日”&INT(F2*MOD(((C2/60)/60)/(E2*F2),1))&”時間”&MOD(INT(C2/60),60)&”分”

処理完了に要する日数

ちなみに「処理完了に要する日数」の時間の表示は7時間までになっています。8時間になると日付が1日増えます。

ここは「1日の稼働時間」と連動していて、「1日の稼働時間」を3時間にすれば、3時間を超えた時に1日増えていくことになります。

人数を5人に増やせば「処理完了に要する日数」は「1日1時間22分」となります。

これで「処理件数」や「1件あたりにかかる処理時間」「稼働人数」「1日の稼働数」が変化しても対応することができますね。

今回は1件あたりにかかる処理時間を「秒」としましたが、「分」にしても考え方は一緒です。

 

ステップ5:最後に見栄え良くしましょう!

これで完成ではありますが、最後に「罫線」を引いたり、「表示形式」を変更し単位を付けたり、セルの塗りつぶし、表示タブの「枠線」チェックを外したり、不要なセルは非表示にしたりと、諸々と調整して見やすいように見栄え良くしましょう!

このあたりのやり方は別途記事を作る予定です。

さて、これで完成です!

完成

こういう計算式を用意しておけば、いざという時に便利ですね!