歩いた自慢大会

http://okwave.jp/qa/q7490214.html ←質問者です。

計算は出来るようになったのですが、理屈が理解出来ません。
=NETWORKDAYS(A2,B2,E2:E18)-MOD(A2,1)+MOD(B2,1)-1

MOD関数について調べましたが、A2とB2をそれぞれ1で割った余りを足して、1引くということでしょうか。

どうしても理解できないので、詳細を教えて頂けないでしょうか。

(B2-A2)-((B2-A2)-NETWORKDAYS(A2,B2,E2:E18))
↑こんな式になるのではないかと考えていたような、出来の悪い頭です。
どうか回答の程、宜しくお願い致します。

質問が2つに分かれてしまい、大変申し訳ございません。

A 回答 (2件)

シリアル値について理解されていますか?



1日は1
2日なら2
1年(365日)なら365
2年(730日)なら730
半日(12時間)なら0.5
1時間なら1/24
1分なら1/1440

1日と12時間なら1.5

こうなるのがシリアル値です。
そして1900年1月1日0時0分からカウントが始まります。
(オプションで1904年からに変更可能)


これで納得できませんか?
    • good
    • 0
この回答へのお礼

ありがとうございます!
こちらの回答より、式の意味を自分で考え理解出来ましたので、ベストアンサーとさせて頂きます。
お礼が遅くなり、大変申し訳ございませんでした。
昨夜からずっと考えて、本日ようやく理解出来ました。

お礼日時:2012/05/23 19:24

シリアル値については、ANo.1の方の説明通りです。


開始日2012/6/20 14:00、終了日2012/6/22 1:00とした場合で説明します。

NETWORKDAYSですが、これは開始日と終了日の間の稼働日の日数を返します。
しかも、日単位でしか見ていませんので返ってくるのは3日間という事で3です。

シリアル値で1未満は、時・分・秒のデータという事になりますので、MOD(A2,1)とMOD(B2,1)で開始と終了の時分秒を取り出しています(14:00:00、1:00:00)。
NETWORKDAYSで得られた3日間から開始時刻までの14時間を引き、開始日分の稼働時間を調整しています。
さらに、最終日はNETWORKDAYSの答えではまるまる1日が計上されていますので、-1日間+1時間で終了日分の稼働時間を調整しています。

=NETWORKDAYS(A2,B2,E2:E18)-MOD(A2,1)+MOD(B2,1)-1
=3日間 -14時間 +1時間 -1日間

こんな説明でご理解いただけますか?
    • good
    • 0
この回答へのお礼

前回の質問は自力では到底辿り着けなかった計算式でしたので、式を教えて頂き助かりました。
今回はNo.1様の回答で、式の意味を理解出来ましたので、お礼のみとさせて頂きます。
何度も回答を頂きまして、ありがとうございます。

お礼日時:2012/05/23 19:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報