質問: エクセル勤怠表 sum関数の表示がちゃんと出ない 度々、同じ勤怠表にて質問させて頂きます。 日々状況が変わり作り変えてます。 図のようにs8セルにsum関数を入れているのですが、sum合計がちゃんと表示されません。 n列のsum合計は15:00になるはずなのに、13:00です。 n列どれか1つ5:00を消すとs8セルには8:00と結果が出ます。 n列の数式を残して結果の数字だけすべて消すと、########となります。 n列の計算は =if(m8<>"",g8-f8-e8-1/3,"") m8に数字がある時に残業時間を計算するように(しているつもり) なぜ単純なsum関数が変な結果を出してくるのでしょうか? n列の計算式がおかしな式なのでしょうか? 隣のr8とq8も同じようにsum関数ですが、ちゃんとした結果が出ます。 それと、n29に残業時間は0:00ですが、この0:00を表示させないのはどうやったらいいでしょうか? ユーザー定義でh:mm;;にしてます。 l列も同様残業0:00が表示されてしまいます。 どこか私が悪いのでしょうが、何がダメなのか分かりません。 ご指摘をお願いいたします。 画像をもっとはっきりとして添付したいのですが、元は大きいのですが、小さく見え難くなってしまいます。すみません。
回答: > h:mm;;にしても表示されてしまいます。補足画像l14セルがそうです。 > 土出勤(労働時間)が8:00で残業は0:00時間ですが、表示させたくない。 > 土出勤(労働時間)が8時間以下の場合は何も表示されないのですけどねぇ。 セルの書式設定の仕方によっては、小数を日時や時間にしたり、マイナスを値を表示させないようにしてしまうこともできますが、そのような設定をしたセルを参照して合計などの演算をさせてしまうと、「一見すると、演算が正しく行われていない!」ようになってしまうと思います。 1/3を時間に扱い時間を演算する式をお考えなのですから、「書式設定だけで対処しては、場合によってはマズイことになる」のもおわかりかと思います。 表示だけのことを考えずに、そのセルの値をどう扱うのかも考えて、例えば g4-f4-e4-1/3 や l4-f4-e4-1/3がどのような値になり得る可能性があるか、妙な値に(自分では望まない値に)なってしまう危険がある場合には、条件式などを使うのがイイと思います。