• ベストアンサー

時間の以上・未満

エクセルのD1~D31までに1日の就業時間が以下のように入力されています    D 1  8:00 2  8:30 3  8:30   ・   ・   ・ この時間から隣の列E1~E31までに8時間以内の時間の合計を出すため (1) =SUM((D1:D31<TIME(8,0,0))*D1:D31)/TIME(1,0,0) F1~F31までに8時間以上の合計を出すため (2) =SUM((D1:D31>TIME(8,0,0))*(D1:D31-TIME(8,0,0)))/TIME(1,0,0) と入力しました。 しかし、以下のようにFに入力されると、Eはゼロになってしまうのです。   D    E     F 1  8:00  8.00   0.0 2  8:30  0.00   0.5 3  8:30  0.00   0.5   ・   ・   ・ Eには8.00、Fには0.5と両方を表示させるためには数式をどのように変えるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

http://2020hindsight.cocolog-nifty.com/blog/2008/12/excel-0a6a.html で紹介してるようなやり方ではダメでしょうか?

その他の回答 (2)

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.3

うむ、前回の続きですか (1)(2)ともに配列関数でD1:D31の合計を計算するものなので、横に表示しても意味無いのですが。 E列は=IF(A1<=TIME(8,0,0),A1,TIME(8,0,0)) F列は=(A1>TIME(8,0,0))*(A1-TIME(8,0,0))/TIME(1,0,0) でやってみて下さい。

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.1

《E1~E31までに8時間以内の時間を出すため》  (8:00丁度を含む)  E1に =IF(D1<=(TIME(8,0,0)),D1,"")  E1セルを下方E31までオートフィル 《F1~F31までに8時間以上の合計を出すため》8:00を超える  F1に =IF(D1>(TIME(8,0,0)),D1,"")  F1セルを下方F31までオートフィル  E1~F31セルの表示形式を[h]:mm  セルの書式設定 → 表示 → ユーザー定義 → 種類に[h]:mm

関連するQ&A

専門家に質問してみよう