[[20040908170659]] 『計算値が0の場合は空白にしたい』(さん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『計算値が0の場合は空白にしたい』(さん)

勤務表を作成しましたが、残業が0時間の時はセルに0と出したくありません。
どのようにすれば良いのでしょうか?よろしくお願いします。


 表示形式を 0;0; にする方法で良いのかなぁ
 (プリン)

 表示形式書き間違えました。 0;-0; が正しかったです。
 どうでしょう?
 (プリン)

 ツール>オプション>表示タブで「ゼロ値」のチェックを外し「OK」
 でもいけるかな。
 (代奈)


プリンさん、代奈さん、ありがとうございます。
うまく出来ました。しかし、普通残業と深夜残業の境で
誤差なのかどうかがわかりませんが0表示が出てしまいます。
定時 9:00~17:45 残業 17:45~22:00 深夜 22:00~24:00
作業時間が9:00~22:00の場合に深夜に0が表示されます。
作業時間が21:45なら深夜は0表示はされません。
他力本願で申し訳ありませんがよろしくお願いします。
(さん)

 ちょっと情報が少ないかな?と思います。
 普通残業と深夜残業は同じセルに表示しているのでしょうか?
 また、数式なども表記していただけるとレスがつくかと思います。
 (gloomy)

 gloomyさん、ありがとうございます。

 深夜0:00~5:00 普通5:00~8:45 定時9:00~17:30 普通17:45~22:00 深夜22:00~24:00

 始業 終業  普通  深夜
  A1  B1   F1  H1
 9:00 22:00 4.25  0    ←の様に表示してしまいます。

 A1,B1はリストにて選択(手入力)

 C1=IF(OR(A1="",B1=""),"",IF(A1<B1,B1,B1+1))

 D1=IF(OR(A1="",B1=""),"",
    IF(AND(A1<TIMEVALUE("8:45"),B1>=TIMEVALUE("5:00")),
    MIN(B1,TIMEVALUE("8:45"))-MAX(A1,TIMEVALUE("5:00")),0))

 E1=IF(OR(A1="",B1=""),"",
    IF(AND(A1<TIMEVALUE("22:00"),B1>=TIMEVALUE("17:45")),
    MIN(B1,TIMEVALUE("22:00"))-MAX(A1,TIMEVALUE("17:45")),0))+D1

 F1=E1*24

 G1=IF(OR(A1="",B1=""),"",
    IF(AND(A1<TIMEVALUE("5:00"),B1>=TIMEVALUE("0:00")),
    MIN(B1,TIMEVALUE("5:00"))-MAX(A1,TIMEVALUE("0:00")),0)) 

 H1=IF(OR(A1="",B1=""),"",
    IF(AND(A1<(1+TIMEVALUE("0:00")),B1>=TIMEVALUE("22:00")),
    MIN(B1,(1+TIMEVALUE("0:00")))-MAX(A1,TIMEVALUE("22:00")),0))+G1

 I=H1*24

 よろしくお願いします。

 これって、D1セルは合ってますか?
 どの条件でも、0か、VALUEが返るようになってるような。
 (川野鮎太郎)


 別シートで動作確認したら0が消えました。
 どこかの書式設定でも間違ってるかもしれないので再確認します。
 ありがとうございます。
 まだまだ、わからないことだらけなのでよろしくお願いします。
 (さん)


 川野さん、ご指摘ありがとうございます。
 川野さんのご指摘事項ですが、
 A1,B1の勤務時間を入力しないときに表示されるエラーでしょうか?
 もし、そうでしたら、勤務時間を入力していない場合でもエラー表示が
 出ないようにできませんでしょうか?
 書式設定はF1,H1は標準で、それ以外はユーザー定義で[H]:mmです。
 よろしくお願いします。
 (さん)

 いや、そうじゃなくて何時を入れても0になりませんか?
 (川野鮎太郎)


 早速の回答ありがとうございます。
 うまく動いてるように感じますがよろしくお願いします。
 D1の式をコピーいたしました。
  =IF(OR(A2="",B2=""),"",
   IF(AND(A2<TIMEVALUE("8:45"),B2>=TIMEVALUE("5:00")),
   MIN(B2,TIMEVALUE("8:45"))-MAX(A2,TIMEVALUE("5:00")),0))
  (さん)

 E列は何が入っているのでしょう。
 E1=IF(OR(A1="",B1=""),"",
    IF(AND(A1<TIMEVALUE("22:00"),B1>=TIMEVALUE("17:45")),
    MIN(B1,TIMEVALUE("22:00"))-MAX(A1,TIMEVALUE("17:45")),0))+D1 ←この+D1のせいです。
 (川野鮎太郎)


 ただいま勉強中で見よう見まねで作成してるのですが、
 川野さんのご指摘を私が理解できてないのかもしれません。

 A1=始業時間

 B1=就業時間

 C1=就業時間の24時補正(セルを狭めて表示しない)

 D1=5:00~8:45の普通残業(セルを狭めて表示しない)

 E1=17:45~22:00の普通残業+D1の合計時間(セルを狭めて表示しない)

 F1=普通残業の合計時間(E1の値を0.25単位で表示する)

 G1=0:00~5:00の深夜残業(セルを狭めて表示しない)

 H1=22:00~24:00の深夜残業+G1の合計時間(セルを狭めて表示しない)

 I1=深夜残業の合計時間(H1の値を0.25単位で表示する)

 これが内容です。申し訳ありません。
 (さん)

 ここに書くのは大変なので、以下のURLをコピーしてブラウザのアドレス欄に貼り付けて見てください。
http://www.geocities.jp/ayutaro333/excel/Kinmu1.xls
 ↑少し修正しました。
 (川野鮎太郎)

 思ったのですが、8:45から9:00の15分と17:30から17:45分の間の15分間は
 両方とも就業しないんですか?それとも休憩?

 文面を見ると何も書かれていないので残業時間に入るのかな?と思いましたので。
 余計なお世話だったらすみません。

 あれ?読み直したら最初は定時9:00~17:45と書いてありますね・・・(?_?)
 (gloomy)

 そうなんです(^_^;)
 しかし、式の内容で残業は8:45以前及び17:45以降ってことで納得してました(^_^A;
 今回就業時間は問題では無いようなので。
 (川野鮎太郎)

 鮎太郎さん、ありがとうございます。
 いい数式がないものかと考えてはいたのですが、ふと気になってしまったので・・。

 鮎太郎さんのコメントのURLを見に行ったのですが「準備中」になってますね。
 参考にしてみたかったのですが、残念です・・・(T-T)
 さんさんは見に行かれたのでしょうか?
 (gloomy)

 クリックしても直接は行けませんよ_/ ̄|○ il||li
 URLをコピーして、ブラウザのアドレス欄に貼り付けねば(^_^A;
 (川野鮎太郎)

 あはは・・・(゜ε゜;
 貼り付けてと書いてるのは気づいたんですが「クリックできるじゃん!」と
 思ってそのままいっちゃいました〜。スミマセンm(_ _)m

 自分もイロイロと考えてはいたのですが、
 鮎太郎さんの作成されたものが完成しているし、わかりやすいのでいいですね(^^)
 (gloomy)

 鮎太郎さま、gloomyさま。ありがとうございます。
 ご指摘の勤務時間ですが、私の入力ミスです。
 残業は8:45以前及び17:45以降です。

 鮎太郎さま、ありがとうございます。感激です。
 ここまで対応していただけるとは思ってもいませんでした。
 まだ、動作確認しかしてないので計算式を読み直してこれから勉強いたします。

 誠に恐縮ですが、このようなこともできるのでしょうか?。
 この勤務表は毎月1日〜31日で使用してるので、休日の日が毎月かわります。
 もし、あるセルに何月かを入力すると、土日祝を自動的に判断できるのでしょうか?
 この質問は出来る出来ないで結構ですのでよろしくおねがいします。
 まだ、今の段階でいっぱいいっぱいなので^^;

 出来ます。以上
 では寂しいので・・・(^_^A;
 以下を参考にどうぞ。
https://www.excel.studio-kazu.jp/lib/e3g/e3g.html
 (川野鮎太郎)

 土日祝の判定は↓で(川野鮎太郎)さんが書いておられます。参考になるのでは? (Hatch)
[[20040912030340]]『考えましたが・・出勤簿が無反応』(HIRO) 

 大変ありごとうございました。
 順番をおってがんばっていこうと思います。
 (さん)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.