Gizport
1 回答
0
Share (facebook)
202
view
全般

エクセルの関数についてです エクセルで出勤簿を作っているのですが、関...

エクセルの関数についてです エクセルで出勤簿を作っているのですが、関数の数式がわかりません。

結論から申しますと、退勤時間を24:00と書いても0:00←(24時のこと)と書いても同じ処理をしてほしいということです。

詳細を以下に記載していきます

C9出勤:手入力
D9退勤:手入力

休憩セルには=AN9

AN9には「=SUM($AD9:$AM9)」
AD9には「=IF(OR(($C9=$D9),(設定!$A$4=設定!$C$4),COUNT($C9,$D9,設定!$A$4,設定!$C$4)<4),0,
IF(AND(設定!$A$4<=$C9,$C9<=設定!$C$4,設定!$A$4<=$D9,$D9<=設定!$C$4),($D9-$C9),
IF(AND(設定!$A$4>$C9,設定!$A$4<$D9,$D9<=設定!$C$4),($D9-設定!$A$4),
IF(AND(設定!$A$4<=$C9,$C9<設定!$C$4,設定!$C$4<$D9),(設定!$C$4-$C9),
IF(AND(設定!$A$4>$C9,設定!$C$4<$D9),(設定!$C$4-設定!$A$4),0)))))」
AM9には「=IF(OR(($C9=$D9),(設定!$A$14=設定!$C$14),COUNT($C9,$D9,設定!$A$14,設定!$C$14)<4),0,
IF(AND(設定!$A$14<=$C9,$C9<=設定!$C$14,設定!$A$14<=$D9,$D9<=設定!$C$14),($D9-$C9),
IF(AND(設定!$A$14>$C9,設定!$A$14<$D9,$D9<=設定!$C$14),($D9-設定!$A$14),
IF(AND(設定!$A$14<=$C9,$C9<設定!$C$14,設定!$C$14<$D9),(設定!$C$14-$C9),
IF(AND(設定!$A$14>$C9,設定!$C$14<$D9),(設定!$C$14-設定!$A$14),0)))))」
AD9~AN9までは同じようなことが書いてあります。
設定!$A$4には「12:00」
設定!$C$4には「13:00」

以上までが、休憩セルです

H9拘束時間には、=AS9
AS9には、「=AC9」
AC9には、「=IF(COUNT($C9:$D9)<2,0,IF($AA9*24>$AB9*24,0,TEXT($AB9-$AA9,"[h]:mm")))」
AA9には、「=IF(COUNT($C9:$D9)<2,0,TEXT(CEILING($C9,"0:10"),"[h]:mm"))」
AB9には、「=IF(COUNT($C9:$D9)<2,0,TEXT(FLOOR($D9,"0:10"),"[h]:mm"))」

以上が拘束時間

I9普通残業セルには、=AT9
AT9には、「=IF(D9-設定!$C$2<0,"0:00",D9-設定!$C$2)」
設定!$C$2には、「18:00」

以上が普通残業時間

J9深夜残業時間セルには、「=AU9」
AU9には、「=AQ9」
AQ9には、「=SUM($AO9:$AO9)」
AO9には、「=IF( COUNT($C9:$D9)<2, 0,
IF( AND(22<=$AA9*24,$AA9*24<29,22<$AB9*24,$AB9*24<=29), ($AB9-$AA9),
IF( AND($AA9*24<=22,22<$AB9*24,$AB9*24<=29), ($AB9-"22:00"),
IF( AND(22<=$AA9*24,$AA9*24<29,29<=$AB9*24), ("29:00"-$AA9),
IF( AND($AA9*24<22,29<$AB9*24), ("29:00"-"22:00"),
0 )))))」
以上が深夜残業時間

ということで、分かる方ご教授願います。
Yahoo!知恵袋 3977日前
コメントする
お気に入り
1
質問者が選んだベストソリューション
計算で24:00を使っているなら
D9の代わりに 0:00<D9<8:00 の場合、D9=D9+24:00
とするのでしょうが、徹夜などの処理が必要ですので素直に0:00以降の場合は24:00以降と入力するほうが処理や数式が簡単です。
Yahoo!知恵袋 3976日前
シェア
 
コメントする
 

参考になったと評価
  このQ&Aは参考になりましたか?

Share (facebook)
その他の解決方法を知っていますか?
回答する
全般
50
Views
質問者が納得以下の2箇所を変更してみてください。 1) Const 置換 As String = "1/22" '<--置換する文字列 ※要変更 ↓ Dim 置換 As Variant 2) myPath(1) = "C:Users***Desktop新しいフォルダー (4)" '<--フォルダ名 ※要変更 ↓ 置換 = Application.InputBox("置換え後の文字を入力してください", Type:=2) If 置換 = ...
3880日前view50
全般
55
Views
質問者が納得まずどうして >今日中に完成させないといけないので ??9月初めはどうしたの? 時間形式 9:00 は 24:00=1 で小数点以下の数値0.375 なのに >AT9には、「=IF(COUNT($C9:$D9)<2,0,ROUNDDOWN($AV9-$AS9,1) >$AD9:$AM9 式にこの範囲がありますが AE9:AL9にはどんなデータがあるのですか? >AS9には、「=IF($AV9=0,0,IF($AV9>8,VALUE("8"),$AV9))...
3969日前view55
全般
67
Views
質問者が納得計算で24:00を使っているなら D9の代わりに 0:00<D9<8:00 の場合、D9=D9+24:00 とするのでしょうが、徹夜などの処理が必要ですので素直に0:00以降の場合は24:00以降と入力するほうが処理や数式が簡単です。
3977日前view67
全般
81
Views
質問者が納得CLASSIC PRO / MIX010 http://www.soundhouse.co.jp/shop/ProductDetail.asp?Item=233^MIX010^^ だけどミニプラグでも接続出来るミキサーだったら BEHRINGER ( ベリンガー ) / XENYX 302USB http://mcaf.ee/4mroz
4191日前view81
全般
45
Views
質問者が納得http://kabu-macro.com/ エクセル マクロについての講座へどうぞ!
4804日前view45

取扱説明書・マニュアル

1249view
http://www.fujitsu-general.com/.../ope-13_9332946017-01_jc_22-25-28-36-40.pdf
もっと見る

関連製品のQ&A