Excel

【Excel】エクセルで出勤率と欠勤率を計算する方法(出勤日数と率、パーセント表示も)

当サイトでは記事内に広告を含みます
技術ブログ特化メルマガはこちら

この記事ではエクセルで個人の出勤率と欠勤率を計算し、横方向にオートフィルでコピーする方法について解説していきます。

ポイントは、以下の通りです。

・COUNTIF関数を使って出勤日数と総日数を求める

・出勤日数と総日数から出勤率を計算する

・出勤率をパーセント表示に変更する

・欠勤率は1から出勤率を引くことで求める

・数式を横方向にオートフィルでコピーする

・マクロを使って一連の処理を自動化する

エクセル操作は1つ1つ追っていけば必ずうまくできるため、ぜひ本記事を参考にスキルアップにつなげてくださいませ♪

エクセルで個人の出勤日数と総日数をカウントする方法【COUNTIF関数や、COUNTA関数】

それでは以下のサンプルを用いて個人の出勤日数と総日数のカウント方法を確認していきます。

B12セルに以下の数式を入力してAさんの出勤日数を求めます。

=COUNTIF(B2:B11,”出”)

B13セルに以下の数式を入力してAさんの総日数を求めます。

=COUNTA(B2:B11)

これらの数式を横方向にオートフィルでコピーすることで、BさんとCさんの出勤日数と総日数も一気に求めることができます。

エクセルで出勤率を出す方法【出勤率を小数で求める】

続いては出勤率の計算方法を確認していきます。

B14セルに以下の数式を入力しましょう。

=B12/B13

B12セルの出勤日数をB13セルの総日数で割ることで、Aさんの出勤率を小数で求めることができます。

この数式も横方向にオートフィルでコピーしましょう。

エクセルで出した出勤率をパーセントに直す方法

続いては、小数で表示された出勤率をパーセントに変更する方法を見ていきましょう。

B14セルからD14セルまでを選択します。

Excelの「ホーム」タブにある「パーセントスタイル」ボタンをクリックします。

これで各人の出勤率が一括でパーセント表示に変換されます。

次にB15セルに以下の数式を入力して、Aさんの欠勤率を求めます。

=1-B14

出勤率を1から引くことで、欠勤率を計算できます。この数式も横方向にオートフィルでコピーしましょう。

欠勤率もB15セルからD15セルまでを選択し、パーセントスタイルボタンをクリックしてパーセント表示に変更します。

出勤率や欠勤率などの計算をマクロで自動化する方法

最後は一連の処理をマクロで自動化する方法を見ていきましょう。

以下のようなマクロを記述します。


Sub CalcAttendanceRates()
    Dim lastRow As Long
    Dim lastCol As Long
    
    lastRow = Cells(Rows.Count, 2).End(xlUp).Row
    lastCol = Cells(1, Columns.Count).End(xlToLeft).Column
    
    For c = 2 To lastCol
        Cells(lastRow + 1, c).Formula = "=COUNTIF(" & Cells(2, c).Address & ":" & Cells(lastRow, c).Address & ",""出"")"
        Cells(lastRow + 2, c).Formula = "=COUNTA(" & Cells(2, c).Address & ":" & Cells(lastRow, c).Address & ")"
        Cells(lastRow + 3, c).Formula = "=" & Cells(lastRow + 1, c).Address & "/" & Cells(lastRow + 2, c).Address
        Cells(lastRow + 3, c).NumberFormat = "0%"
        Cells(lastRow + 4, c).Formula = "=1-" & Cells(lastRow + 3, c).Address
        Cells(lastRow + 4, c).NumberFormat = "0%"
    Next c
End Sub  

このマクロでは、以下のような処理を行っています。

1. lastRow変数で、データの最終行を取得
2. lastCol変数で、データの最終列を取得
3. 2列目から最終列まで繰り返し処理
– 各列の最終行の下のセルに出勤日数の数式を入力
– その下のセルに総日数の数式を入力
– さらにその下のセルに出勤率の数式を入力し、表示形式をパーセントに変更
– 出勤率のさらに下のセルに欠勤率の数式を入力し、表示形式をパーセントに変更

マクロを実行すれば、一発で全員分の出勤日数、総日数、出勤率、欠勤率(パーセント)を求めることができます。

人数が増減しても、自動的に最終列までの処理が行われるので便利ですね。

まとめ エクセルで個人の出勤率と欠勤率を求める方法

以上、エクセルで個人の出勤率と欠勤率を求め、横方向にオートフィルでコピーする方法をご紹介しました。

勤怠管理や稼働率の算出など、様々な場面で活用できる技です。

ぜひマスターして、エクセル作業の効率アップにつなげてください。