- ベストアンサー
エクセルの合計数の出し方について(度重ね申し訳ありません)
先ほど、エクセルでの勤務表について質問をさせて頂きました。 皆様に教えて頂いたとおり、試しておりますが、また、解決できない点が 出てしまいました。度重ね、誠に申し訳ありませんが、ご教示頂け ましたら、幸いです。 現在、=D4-C4-TIME(1,0,0)を使用してE列に実働時間(休憩の1時間を除く) =E4-TIME(7,30,0)を使用してF列に残業時間(所定時間は7時間30分)を 計算しています。入力は4番から34番までとなっております。 合計を出すための方法として、E列またF列の35番に=SUM(E4:E34)と=SUM(E4:F34) と入力しましたが、計算できません。 何かいい方法がございましたら、ご教示のほど、宜しくお願い致します。 ちなみに、列のすべての枠(?)に入力はしておらず、入力のない 項目もあります。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
前回の#1です。 先の各回答者への返答を通読しまして、 #1での、 E2の数式 =IF(C2="","",D2-C2-TIME(1,0,0)) F2の数式 =IF(E2="","",E2-TIME(7,30,0)) に変更。 これで、 C2に入力が無いなら、 E2およびF2が空欄表示になります。 実働時間の合計 を E35 =TEXT(SUM(E2:E35),"[h]:mm") 時間外時間の合計 を F35 =TEXT(SUM(F2:F35),"[h]:mm") で、 時 部分が 3桁になっても、表示されます。 セルの書式設定でも、3桁表示([h]:mm)をユーザー設定で出来ますが、 同様な事が、TEXT関数でも可能なので、 この数式を採用しています。
その他の回答 (3)
#1です。 なるほど、やってみてわかりました。計算結果が一致しないという意味でしょうね。 まず、=E4-TIME(7,30,0)などはE4にデータがないとマイナスになりますから、=if(E4-TIME(7,30,0)>=0,=E4-TIME(7,30,0),0)とする必要があります。E列も同じです。 その上で、合計は、例えば26時間を「1日2時間」と表示するのか「26時間」と表示するのか不明ですが、26時間としたいなら、時と分を分けて計算したほうがよいと思います。 E35=DAY(SUM(E4:E34))*24+HOUR(SUM(E4:E34))(書式は数値) E36=minute(sum(E4:E34))(書式は数値) とすれば、E35に合計時間数が、E36に合計時間の端数の「分」が表示されます。
お礼
お試し頂いたとのことで、お手数をおかけし、誠に申し訳ありません。 おかげさまで、解決に至りました。 本当にありがとうございました。
- momo999
- ベストアンサー率15% (15/96)
E列またF列の35番の部分が 計算では足されているけど時刻表示なので24を超えて0になっているのでは? 表示形式でユーザー定義に〔h〕:mmと入れたらどうですか? 〔h〕は(リセットされないで25時などと)時間として出てくる意味です
お礼
ご教示ありがとうございます。 ユーザー定義にそのような方法があったのですね。 本当にありがとうございました。
「計算できません」とはどういう意味ですか?具体的にどんなエラーが発生しているのかを書いてください。
お礼
私の説明不足で申し訳ありません。 計算式を入れましたが、[0]のまま、合計が表示されません。 おわかり頂けますでしょうか。宜しくお願い致します。
お礼
度重ね、本当にありがとうございます。 おかげさまで、きちんと合計数も表示されるようになりました。 また、この度は、私のような素人にもわかりやすく教えて頂き、 本当にありがとうございました。