アプリ版:「スタンプのみでお礼する」機能のリリースについて

下のカッコ内はエクセルのセル番地を示しています。
2行目に数値を入れて任意の時間帯に何時間あるか調べたいと考えています。下では前日22時から当日9時までの合計11時間あり、その内訳は時間帯Aに9時間、時間帯Bに2時間ある、という計算です。
こういう計算を関数を使って表すことはできるでしょうか?


開始(B1) 終了(C1) 合計(D1) 時間帯A(E1) 時間帯B(F1)
22:00(B2) 9:00(C2) 11:00(D2) 9:00(E2) 2:00(F2)

※時間帯A=前日22:00~当日7:00
 時間帯B=当日7:00~12:00

A 回答 (4件)

例えば開始が6:00、終了が23:00であった場合は


E2は6:00~7:00の1時間と22:00~23:00の1時間を足して2時間
F2は7:00~22:00の15時間
でいいのですよね?

D2は
=IF(B2>C2,C2+1-B2,C2-B2)

E2はちょっと複雑ですが
=IF(AND(ISBLANK(B2)=FALSE,ISBLANK(C2)=FALSE),IF(C2<B2,IF(C2>"7:00"*1,"7:00"*1+1,C2+1)-IF(B2<"22:00"*1,"22:00"*1,B2)+IF(B2<"7:00"*1,"7:00"*1-B2,"0:00"*1),IF(B2<"7:00"*1,IF(C2<"7:00"*1,C2,"7:00"*1)-B2,"0:00"*1)+IF(C2>"22:00"*1,C2-"22:00"*1,"0:00"*1)),"0:00"*1)

E2の式の意味は以下の通りです。

開始時刻>終了時刻となった場合(0:00をまたいだ場合)
終了時刻+1日と開始時刻の差を求め、その内の22:00~7:00の間の時間数を算出

上記以外の場合(開始時刻≦終了時刻、0:00をまたがない場合)
開始時刻が7:00以前、終了時刻も7:00以前の場合、開始時刻から終了時刻までの時間数
開始時刻が7:00以前、終了時刻が7:00以降の場合、開始時刻から7:00までの時間数
終了時刻が22:00以降の場合、22:00から終了時刻までの時間数
これを合算したもの

F2は
=D2-E2
    • good
    • 0
この回答へのお礼

ありがとうございました。
わたしにはちょっと複雑ですが、教えていただいたとおりいれたらできました。

お礼日時:2010/03/14 18:34

D2のセルに=(24-B2)+C2の関数式を


E2のセルに=C2を
F2のセルに=(24-B2)の関数式を入力して見て下さい。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2010/03/14 18:32

D2セルには次の式を入力します。



=IF(COUNT(B2:C2)<>2,"",IF(B2>"12:00"*1,C2+"24:00"-B2,C2-B2))

E2セルには次の式を入力します。

=IF(COUNT(B2:C2)<>2,"",IF(B2>"12:00"*1,MIN("7:00"+"24:00",C2+"24:00")-MAX("22:00",B1),MIN("7:00",C2)-B2))

F2セルには次の式を入力します。

=IF(COUNT(B2:C2)<>2,"",IF(B2>"12:00"*1,MIN("12:00"+"24:00",C2+"24:00")-MAX("7:00"+"24:00",B1),MIN("12:00",C2)-MAX("7:00",B1)))

D2セルからF2セルまでの範囲を選択し下方にオートフィルドラッグします。
ところでD2セルの式ですが例えば開始が21:00で終了が9:00のときはD2セルは12:00となるのに対してE2セルは9:00、F2セルは2:00となります。これは時間帯Aの最大値が9:00であるためです。D2値がE2とF2の合計にするのでしたら、D2への入力の式は次のようになりますね。

=IF(COUNT(B2:C2)<>2,"",E2+F2)
    • good
    • 0
この回答へのお礼

ありがとうございました。
うまくいきました。関ここまでの関数はかなり勉強しないと難しいですね。

お礼日時:2010/03/14 18:36

B1セルには、前日の時刻が設定され、


C1セルには、当日の時刻が、 必ず設定されるのですか?
    • good
    • 0
この回答へのお礼

こんにちは、早速ありがとうございます。
B1、C1セルですが、前日、当日はまちまちです。左の値が右より大きい時は左は前日というようにできればと考えています。シリアル値ですので、こういったことは無理なのでしょうか・・・

お礼日時:2010/03/10 11:03

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