エクセルマクロで稼働率を自動計算する方法

Excel

エクセルで複数の支店やエリアにおける稼働率を計算したいと考えている方のために、必要なマクロの作成方法を解説します。ここでは、特にProToolsを使用する方々向けに、支店名やエリアごとに稼働率を集計する方法を説明します。

必要なデータ構造

まず、マクロを作成するには元となるデータが必要です。以下のようなデータがあると仮定します。

  • エリア名
  • 支店名
  • 営業担当者名
  • 販売数

このデータを基に、エリアごとの稼働率を算出します。

稼働率の計算方法

稼働率は、実際に稼働した人数(販売数が0以外)を、支店全体の人数で割った割合です。例えば、北海道エリアのA支店において、販売数が0の担当者がいれば、その分を除いて計算します。

エクセルでは、以下の手順で計算できます。

  • 販売数が0の行を除外
  • 販売数が0でない行の数をカウント
  • 支店全体の人数をカウント
  • 稼働率 = (販売数が0でない人数 / 支店全体の人数) * 100

エクセルマクロの作成方法

以下のマクロコードを使用して、エリアごとの稼働率を別ファイルに出力できます。

Sub CalculateAttendanceRate() 
Dim ws As Worksheet 
Dim lastRow As Long 
Dim areaDict As Object 
Set areaDict = CreateObject("Scripting.Dictionary") 
Set ws = ThisWorkbook.Sheets("データ") 
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row 
For i = 2 To lastRow 
    area = ws.Cells(i, 1).Value 
    If areaDict.Exists(area) Then 
        areaDict(area) = areaDict(area) + 1 
    Else 
        areaDict.Add area, 1 
    End If 
Next i 
' その他計算コード 
End Sub

上記コードは、エクセルシートに含まれるエリアごとの行数をカウントし、稼働率を出力する基礎的なマクロです。

マクロの実行と結果の確認

マクロを実行すると、エリアごとの稼働率が計算され、新しいシートまたはファイルに結果が出力されます。これにより、複数のエリアや支店のデータを一元管理できます。

まとめ

エクセルのマクロを使うことで、手動での集計作業を効率化し、エリアごとの稼働率を簡単に算出できます。もし複数の支店がある場合や、大規模なデータセットを扱う場合でも、マクロを活用すれば効率よく稼働率を計算することが可能です。

コメント

タイトルとURLをコピーしました