プロが教えるわが家の防犯対策術!

時間計算の表を作成しています。
添付画像のように、
開始時間、終了時間を入力し、時間数をA~Dに振り分けます。
通常は、時間数Aに表示されるようにして、種別に1を入力すると時間数Bに、2を入力すると時間数Cに移るようにしたいのですが、どうしたらいいのでしょうか。

よろしくお願いいたします。

「エクセルの表作成(関数)について」の質問画像

A 回答 (3件)

D3に、 =IF(H3<1,C3-B3,"")


E3に、 =IF(H3=1,C3-B3,"")
F3に、 =IF(H3=2,C3-B3,"")
G3に、 =IF(H3=3,C3-B3,"")
それぞれ、必要なだけ下へコピー。

下の2行が、単純に「終了-開始」ではないみたいなので、少し気になりますが・・・
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/09/05 06:21

こんにちは!



D~G列に表示されている「時間」が単に 終了時刻-開始時刻 でないのがちょっと気にかかりますが、
(おそらく休憩時間等の引き算が必要になるのではないかと思います)

とりあえず「終了時刻」から「開始時刻」を引いた「時間」を表示するだけにしています。

D3セルの表示形式をユーザー定義から
[h]:mm
として
=IF(COUNTBLANK($A3:$C3),"",IF(COLUMN(A1)-1=$H3,$C3-$B3,""))
という数式を入れ、列・行方向にオートフィルでコピーしてみてください。

※ 休憩時間等マイナスしなければならない場合は
IF関数の「TRUE」のところで調整します。

まずはこの程度で・・・m(_ _)m
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/09/05 06:21

>どうしたらいいのでしょうか。


D3セルに次の式を入力し、そのセルをD列3行からG列n行までコピーします。
但し、D列2行からG列2行までは半角のAからDまでが入っていることとします。

=IF($H3=CODE(D$2)-CODE("A"),IF($B3<$C3,$C3-$B3,1+$C3-$B3),"")

尚、7行目の開始より終了の方が小さいときは開始の翌日に終了と考えて1日加算します。
あなたが提示された表は計算違いがあるものと判断しました。
「エクセルの表作成(関数)について」の回答画像3
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/09/05 06:21

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