回答終了
エクセルの関数について教えてください。 添付画像のように勤怠のエクセル関数を作成したいのですが、このような計算方法をもとに計算ロジックを作成することは可能なのでしょうか。・6時間以上の勤務の場合から1時間の休憩を差し引いた時間を合計値に加算する ・お休みの場合、「×」で表記する ・一週間に40時間超えた場合は勤務時間の値を赤字にする みなさんよろしくお願いします。
月~日の時間はユーザーによって入力されます。 40時(誤り)→42時間
114閲覧
それらがちゃんと文字列として入力され、間違って日付になってないと確認できる場合に限りますが、 =IFERROR(MOD(MID(文字列, FIND("-", 文字列)+1, 2) - LEFT(文字列, FIND("-", 文字列)-1), 24), 0) で、6とか8などと拘束時間を計算可能です。21-5のように時間を遡った場合も修正して21-29と同等に計算してますよ。 ただし「6時間以上は1時間無給」はやってないので、全く同じ計算をして6以上か判定して1引いていく必要がありますね。 =IFERROR(MOD(MID(文字列, FIND("-", 文字列)+1, 2) - LEFT(文字列, FIND("-", 文字列)-1), 24), 0) - (IFERROR(MOD(MID(文字列, FIND("-", 文字列)+1, 2) - LEFT(文字列, FIND("-", 文字列)-1), 24), 0)>=6) で、日別の時間を明示せず合計だけ示すなら、範囲にしてsumproduct関数で集計します。 =sumproduct(IFERROR(MOD(MID(文字列, FIND("-", 文字列範囲)+1, 2) - LEFT(文字列範囲, FIND("-", 文字列範囲)-1), 24), 0) - (IFERROR(MOD(MID(文字列範囲, FIND("-", 文字列範囲)+1, 2) - LEFT(文字列範囲, FIND("-", 文字列範囲)-1), 24), 0)>=6))
下の画像では 1.C4のセルに __=IFERROR(HLOOKUP(C3,$L$3:$N$5,3,0),"") 2.C4のセルを水色のセルにコピー 3.結合したJ3のセルの表示形式をユーザー定義で [h]:mm にして式を __=IF(COUNT(C4:I4),SUM(C4:I4),"") 4.結合したJ3のセルで条件付き書式にて __【数式を使用して、書式設定するセルを決定】 __【=J3>"42:00"*1】 __【そこの[書式]ボタンから[フォント]タブで赤色を指定】 5.結合したJ3のセルを下にコピー としたものです。
< 自分のペースで、シフト自由に働ける >
パート・アルバイト(東京都)この条件の求人をもっと見る
求人の検索結果を見る
< いつもと違うしごとも見てみませんか? >
覆面調査に関する求人(東京都)この条件の求人をもっと見る