「教えて!ピックアップ」リリース!

建設会社で事務をしている新人です。

社員全員の安全意識を高め、事故を無くすために、「月ごとの事故・怪我の記録表」をエクセルで作成してほしいと頼まれました。

上司と相談し、ひな形として考えているのは、

開始日を「2015/4/1」として、

A列→1~31までの日付(例:2015/4/1を書式設定で「1(水)」と表示)
B列→事故数(無事故の際は空欄)・最下に月間合計事故数
C列→その日勤務した人数・最下に月間合計勤務人数
D列→累計無事故日数

この形式を、3つの事業所があるのでコピーして同じブックに作成し、1つの表にする。一番下に、3つの事業所を合わせたその月の事故数&累計無事故日数欄を作成したいです。

BとCを手入力して、Bが空欄(無事故)の場合、「=DATEDIF(開始日セル+1,A列の日付セル,"D")」の数式でD列に累計の無事故日数を求めたいと思ってます。(例:5/31現在、無事故=31の答えが出るように)

ただし、事故・怪我があった場合(Bの値が1以上の場合)、Dの無事故日数をリセットして「0」とし、次の日からまた「1」から自動でカウントするような式を作りたいです。こうなると上記の数式では求められませんよね。

自動でするとなると、「無事故日数をカウントする開始日」が変わってくるので、どの関数でどうやってネストしてやればいいのだろう…と分からず悩み中です。

「どのぐらい無事故が継続したか」
「事業所ごとに、月間の事故数はいくつあったか」
「現在の累計無事故日数は何日か」

これらの事柄が、1つの表でパッと見すぐに分かるようにしたいのですが、どうにもうまくいきません。

詳しい方、ヒントとなる回答を戴ければ大変助かります。宜しくお願い致します。

A 回答 (1件)

私だったらと考えです。


シート名 データ
 A   B    C       D       E      F
日付 合計人数 合計事故数 A事業所人数 A事業所事故数 B事業所人数 B事業所事故数 ・・・
4/1 =D2+F2+H2 =E2+G2+I2
4/2
・・・・
ずーと下まで何年分続けて入力

「どのぐらい無事故が継続したか」
別シートに
最終事故発生日 =MAX((データ!C1:C10000>0)*(データ!A1:A10000)) と入れて Ctrl+Shift+Enter
で決定して配列関数にすれば、最後に事故が発生した日(事故件数が0以上の日)表示されます
別セルに =Today() で今日の日付
二つのセルを引き散ずれば、今までの無事故日数です。

「事業所ごとに、月間の事故数はいくつあったか」
別シートに
 年  月  A事業所 B事業所 C事業所
2015  4
2015  5
・・・
A事業所の事故数は、Sumif関数で2015/5/1以下の事故数ー2015/4/1以下の事故数で計算できます。

「現在の累計無事故日数は何日か」
単純に、列ごとのSumですよね。

開始日を「2015/4/1」として、

A列→1~31までの日付(例:2015/4/1を書式設定で「1(水)」と表示)
B列→事故数(無事故の際は空欄)・最下に月間合計事故数
C列→その日勤務した人数・最下に月間合計勤務人数
D列→累計無事故日数
のシートも別シートに表示するようにします。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング