[[20080726112136]] 『只のセルの値から関数を求め表示させる場合と式の入ったセルから同式  ページの最後に飛ぶ

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

 

『只のセルの値から関数を求め表示させる場合と式の入ったセルから同式

 を用いて表示させると違う値が表示されてしまいます』(ボヤッキー)

 はじめまして。よろしければお力添え願います。

  勤怠表で20人ほどの管理を行ていました。
  @9時〜20時→通常時間給帯 
  A20時〜翌4時→深夜時間給帯 
  出退勤	
  ただし休憩−1H表示

 A1	B1	C1               D1                E1      F1
 出勤      退勤   合計    通常時間        深夜時間
 9:00	〜	22:00       12     10:00     2:00  
 A20
 深夜
 20:00

 F1に=IF(A1="","",IF(A1<$A$20,IF(C1<$A$20,"",C1-$A$20),C1-A1))
 とし、深夜時間をもとめています。この際は問題がありません。

 ※A1,C1手入力の場合 
 ですが、上記のA1とC1の値が、他のセルから、関数使用リンク表示し、
 同じ式でF1設定すると、総時間?? 
 が表示されてしまいます。
 入力簡略のため他のセルから結合させ、A1,C1を表示(A1,C1それぞれに式あり)
 なぜ深夜時間が表示されないのか?
 書式表示形式は時刻です。

 よろしく願います


 >入力簡略のため他のセルから結合させ、A1,C1を表示(A1,C1それぞれに式あり)
 この部分で使っている式と
 テストデータをご呈示の上
 >同じ式でF1設定すると、総時間?? 
 が具体的にどの様な結果になるのか

 書いてみるのが良いと思います。

 また、通常時間は正しく計算出来るのに
 深夜時間だけ計算出来ないのですかね?
 他の所の式(合計・通常時間)も
 載せてみるのが良いかもしれません。

 (HANA)

 >他のセルから、関数使用リンク表示し、
 その数式を提示してもらわなければなんともいえません。

 追記
 >(2)20時〜翌4時→深夜時間給帯
 就業がAM4時で終わりならば問題ありませんが、
 それ以降も就業の可能性があるなら、労働基準法違反になります。
 労働基準法第37条第3項
 (A/H)


 不都合がありそうな点だけですが。
=IF(A1="","",IF(A1<$A$20,IF(C1<$A$20,"",C1-$A$20),C1-A1))
 
A1に20:00以前の時間が入力されている、およびC1に20:00以前の時間が入力
されているとき、「""」表示になります。
A1 19;59
C1  4:00 のときそうなります。
「総時間」というのがどのような原理でそうなるか、この数式だけでは
判断が付きません。この数式に関わるセルの値がそれぞれどのようなとき、
どのような結果が求められているのかも書き込んでみてください。
 
「関数使用リンク表示し」から計算過程での誤差発生による挙動である
可能性も予想されます。
(みやほりん)(-_∂)b


 もし、A2とC2の実体が、H2やI2の様な日付含みのシリアル値になっていたら、
 深夜時間には「総時間?」が算出されます。

 行   _A__  _B_  __C__  _D_   E   _ F _  _G_  ______H_______  _______I_______  
  1   9:00       22:00             2:00                                         
  2   9:00       22:00            13:00       2008/7/26 9:00  2008/7/26 22:00  

 セルの書式を yyyy/m/d h:mm として実体を確認されたら如何でしょうか?

 (半平太)

説明不足の点ご了承ください

1、A1,C1、手入力の場合

  A1   B1   C1   D1   E1     F1

 出勤      退勤  合計  通常時間  深夜時間

 9:00   〜    22:00  12   10:00   2:00

 
 A20

 深夜

 20:00

 F1に=IF(A1="","",IF(A1<$A$20,IF(C1<$A$20,"",C1-$A$20),C1-A1))

 通常時間は問題ないので省略させていただきます。

 2、A1とC1へは同シート内

 A1    B1   C1    D1    E1      F1

 出勤       退勤   合計   通常時間   深夜時間

 9:00   〜   22:00    12   10:00     13:00

 G1     H1     I1      J1        K1

  出勤  退勤

 9:00   22:00    9      :        00
              

 A20

 深夜

 20:00

 A1 式 =G1

 C1式  =H1で各々表示

 上記のようなF1でセルで時間表示されてしまいます

 仮にIF(G1="","",IF(G1<$A$20,IF(H1<$A$20,"",H1-$A$20),H1-G1))

 としても、G1とH1は文字列の別セルI1 ,J1 ,K1からG1を表示させてます。

 なぜ1と2表上のF1の結果で違う値表示で、
 
 20:00以降の2時間が表示されないのでしょうか再度協力お願いいたします。
 
(ボヤッキ)


 >G1とH1は文字列の別セルI1 ,J1 ,K1からG1を表示させてます。 

 ここが問題です。
   
 G1は =I1&J1&K1 こんな風な式で「9:00」を作っていませんか?
 それは「時刻」に見えて、「実は文字」です。
 文字データは、時刻データより大きいと判定されます。

 G1を時刻にするには、こうしてください。→ =(I1&J1&K1)*1

  (半平太)

コメント返信:

[ 一覧(最新更新順) ]


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