[[20170911143127]] 『タイムカード』(まる) ページの最後に飛ぶ

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

 

『タイムカード』(まる)

タイムカードから勤務状態を計算する表の作成をしています。
A:日付、C:曜日、E:区分、H:出社、J:退社、L:業務開始、N:業務終了、P:通常勤務、S:休日出勤、V:早出・残業、Y:深夜・早朝、AB:合計
以上の配置で表を作成しました。
E:区分、H:出社、J:退社の欄は手入力です。L:業務開始、N:業務終了欄はH:出社、J:退社から「まるめて」自動計算されるようにしました。
 =IF(OR(H11="",J11=""),"",CEILING(H11,TIME(0,$AR$2,0)))
 =IF(OR(H11="",J11=""),"",FLOOR(J11,TIME(0,$AR$3,0)))
10行目までは氏名や項目欄です。
P:通常勤務、S:休日出勤欄ですが、E:区分欄が「空白、振替休日、有給休暇、欠勤」の時は「空白」で、L:業務開始、N:業務終了欄に表示がある時は計算結果が入力されるようにしたいのですが、うまくできませんでした。

P11=IF(E11="","",COUNTIF(E11,"出勤")*IF(L11<=$AI$2,IF(N11<=$AI$2,0,IF(N11<=$AK$2,N11-$AI$2-$AI$6,$AK$2-$AI$2-$AI$6)),IF(N11<=$AK$2,N11-L11-$AI$6,IF($AK$2-L11<0,0,$AK$2-L11-$AI$6))))

S11=IF(E11="","",COUNTIF(E11,"休日出勤")*IF(L11<=$AI$2,IF(N11<=$AI$2,0,IF(N11<=$AK$2,N11-$AI$2-$AI$6,$AK$2-$AI$2-$AI$6)),IF(N11<=$AK$2,N11-L11-$AI$6,IF($AK$2-L11<0,0,$AK$2-L11-$AI$6))))
"出勤")*IF…と"休日出勤")*IF…以下の計算式は別表の規則から休憩時間等に基づいています。

どなたかご教示いただけると助かります。

< 使用 Excel:unknown、使用 OS:unknown >


 >うまくできませんでした。 
 >どなたかご教示いただけると助かります。

 ・・と言われましても、どうなればいいんですか?

 計算ルールの説明もないし、
 計算に必要な基礎データ(AR2,AR3、別表の規則から休憩時間等)がどうなっているのかも説明が無いですから、
 考えようがないですけど・・

(半平太) 2017/09/11(月) 20:16


お返事いただき、ありがとうございます。
説明不足で申し訳ありません。

P:通常勤務、S:休日出勤欄を、E:区分欄が「空白、振替休日、有給休暇、欠勤」の時は「空白」で表示したいので、数値の計算式はあっていると思い「別表の規則から休憩時間等…」は必要ないと思いました。
勝手な思い込みですみません。

   以下別表

 AH       AI AJ   AK  AL  AM   AQ      AR

規則 勤怠区分  就業時刻

就業時間      8:00   -  17:00 出勤  開始時刻切上  30 分
早出時間      5:00 -   8:00 休日出勤  終了時刻切捨 10 分
残業時間      18:00 -   22:00 振替休日    
早朝・深夜時間 22:00 -   5:00 有給休暇    
休憩時間      1:30     欠勤

よろしくお願いいたします。  

(まる) 2017/09/12(火) 13:51


 >P:通常勤務、S:休日出勤欄を、E:区分欄が「空白、振替休日、有給休暇、欠勤」の時は「空白」で表示したいので、
 >数値の計算式はあっていると思い「別表の規則から休憩時間等…」は必要ないと思いました。 
 >勝手な思い込みですみません。 

 いえ、本当にそれだけでいいのなら、諸説明は必要なかったです。余計なことを聞いてすみませんでした。

 ※他人の作った数式は信用しない悪い癖があるので、お許しを m(__)m

 P11セル =IF(OR(COUNT(H11,J11)<2,ISNUMBER(MATCH(E11&"",{"振替休日","有給休暇","欠勤",""},0))),"",IF(L11<=$AI$2,IF(N11<=$AI$2,0,IF(N11<=$AK$2,N11-$AI$2-$AI$6,$AK$2-$AI$2-$AI$6)),IF(N11<=$AK$2,N11-L11-$AI$6,IF($AK$2-L11<0,0,$AK$2-L11-$AI$6))))
 S11セル =IF(OR(COUNT(H11,J11)<2,ISNUMBER(MATCH(E11&"",{"振替休日","有給休暇","欠勤",""},0))),"",IF(L11<=$AI$2,IF(N11<=$AI$2,0,IF(N11<=$AK$2,N11-$AI$2-$AI$6,$AK$2-$AI$2-$AI$6)),IF(N11<=$AK$2,N11-L11-$AI$6,IF($AK$2-L11<0,0,$AK$2-L11-$AI$6))))

(半平太) 2017/09/12(火) 14:49


 =IF(OR(COUNT(L11,N11)<2,E11={"","振替休日","有給休暇","欠勤"}),"",・・・・・・)

 こういうこと?
(笑) 2017/09/12(火) 15:10

(半平太)様

早々のご回答、ありがとうございます。
「余計なこと」だなんて、とんでもないことです。

早速使わせていただきました。&,{}を使うのですね。素敵です。見事に表示されました。うれしくてちょっと興奮気味です。この一週間ほどの試行錯誤はいったいなんだったのでしょうか!

ほんとうにありがとうございました。
少しづつ勉強します。

(まる) 2017/09/12(火) 15:51


 ものの見事に黙殺されてしまいましたけど、めげずに

 P11、S11の数式を見てませんでした。
 COUNTIF(E11,"出勤") と COUNTIF(E11,"休日出勤") は要らないんですかね。

 =IF(OR(COUNT(L11,N11)<2,E11={"","振替休日","有給休暇","欠勤"}),"",IF(L11<=$AI$2,・・・・・・)

 こうするとP11とS11は同じ式になってしまうのでは?

 IF(L11<=$AI$2,・・・以下の式が何をしてるのかは全く理解できてません。

 以上
(笑) 2017/09/12(火) 16:37

(笑)さま

黙殺だなどと…。一週間の遅れを取り戻すべく必死に作表していました。

 COUNTIF(E11,"出勤") と COUNTIF(E11,"休日出勤") は自分で追加できると思い、(半平太)様のご回答でよかったのですが、浅知恵で行き詰ってしまい、(笑)さまの数式を検討させていただき、以下のようにしました。

=IF(OR(COUNT(L11,N11)<2,E11={"","振替休日","有給休暇","欠勤"}),"",COUNTIF(E11,"出勤")*IF(L11<=$AI$2,IF(N11<=$AI$2,0,IF(N11<=$AK$2,N11-$AI$2-$AI$6,$AK$2-$AI$2-$AI$6)),IF(N11<=$AK$2,N11-L11-$AI$6,IF($AK$2-L11<0,0,$AK$2-L11-$AI$6))))

=IF(OR(COUNT(L11,N11)<2,E11={"","出勤","振替休日","有給休暇","欠勤"}),"",COUNTIF(E11,"休日出勤")*IF(L11<=$AI$2,IF(N11<=$AI$2,0,IF(N11<=$AK$2,N11-$AI$2-$AI$6,$AK$2-$AI$2-$AI$6)),IF(N11<=$AK$2,N11-L11-$AI$6,IF($AK$2-L11<0,0,$AK$2-L11-$AI$6))))

ありがとうございます。
本当に何の義理もない方々の助言を頂けたことに感謝しています。

あとは早出・残業、深夜・早朝勤務の計算式になります。がんばってみます。
(まる) 2017/09/13(水) 15:27


コメント返信:

[ 一覧(最新更新順) ]


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