Jetzt schnell und einfach deine Mitarbeiter-Kapazität planen mit dieser Excel-Vorlage!
Du suchst nach einer einfachen Kapazitätsplanung für deinen Betrieb? Du möchtest ohne großen Aufwand deine Personalplanung und deine Auftragsplanung erstellen? Du möchtest sehen, wie es um deine Mitarbeiter-Kapazität steht? Sind sie voll ausgelastet oder gar überlastet? Weg von der Zettelwirtschaft und auf gar keinen Fall hin zu massenweiser Dokumentation?
Dann bist du hier richtig. 🥳
Kapazität (englisch „capacity“) ist in der Volkswirtschaftslehre und Betriebswirtschaftslehre die maximal dem Produktionsprozess in einem bestimmten Zeitraum zur Verfügung stehende Anzahl an Personal, Maschinen, Werkzeugen und Räumen.
https://de.wikipedia.org/wiki/Kapazit%C3%A4t_(Wirtschaft)
Klingt erst mal sehr theoretisch. Mein Ansatz ist da erst mal pragmatisch und praktischer Natur 🥳
- Wo ist noch eine Lücke für den neuen Auftrag?
- Wo musst du Aufträge schieben, um andere Termine einzuhalten?
- Wo kannst du Mitarbeiter anders einteilen, um doch noch alles schaffen zu können?
- Wie lange sind deine Auftragsbücher gefüllt und wann kannst du den nächsten Auftrag annehmen?
All diese Fragen lassen sich mit meiner Excel-Vorlage zur Kapazitätsplanung spielend leicht beantworten. Ich zeige dir hier, wie es geht.
Es braucht keine teure Spezialsoftware, die mehr kostet als dein neues Werkzeugset und bei der du für Funktionen bezahlst, die du eh nie verwenden wirst.
Wir nutzen, was schon da ist für unsere Kapazitätsplanung. Wir nutzen Excel
Im folgenden Blogbeitrag zeige ich dir, wie du dir diese Kapazitätsplanungs-Vorlage in Excel selbst erstellen kannst.
Falls du dir die Mühe nicht machen willst und du nach dem Motto handelst: Zeit ist Geld
Dann hole dir für 9€ die fertige Vorlage hier ab:
Was dich hier erwartet:
Toggle2 Säulen der Kapazitätsplanung: Bedarf und Angebot
Lass uns kurz die theoretische Basis setzen für unsere Kapazitätsplanung und Mitarbeiterplanung.
Die Kapazitätsplanung ruht auf 2 Säulen: Bedarf und Angebot.

Die Bedarfssäule der Kapazitätsplanung – Wie viele Mitarbeiter brauche ich? 🧩
In der Bedarfssäule geht es darum, das Personal-Puzzle zu legen. Überlege, wie viele Mitarbeiter du für die anstehenden Aufträge benötigst. Berücksichtige unterschiedliche Fähigkeiten, Spezialgebiete und vor allem die Zeit, die für jeden Auftrag benötigt wird. Hier landen all deine personellen Wünsche und Bedürfnisse
Die Angebotsseite der Kapazitätsplanung – Wie viele Mitarbeiter habe ich? 🦸♂️🦸♀️
Die Angebotssäule ist das Herz deines Teams. Hier zählst du auf, wie viele Mitarbeiter tatsächlich zur Verfügung stehen. Wer ist im Urlaub, wer krank und wer steht dir am jeweiligen Tag zur Verfügung?
Das Gleichgewicht der Kapazitätsplanung finden – Stressfreiheit im Betrieb⚖️
Das Ziel? Die Waage ausgleichen. Oder um im Bild zu bleiben: Die Säulen gleich hoch mauern, damit das Dach stabil aufliegt.
So viel wie nötig, so wenig wie möglich.
Überlast – der Teamstress-Alarm 🚨
Überlast in der Kapazitätsplanung bedeutet, dass es zu viele Aufträge gibt und die Mitarbeiter nicht alles schaffen können. Das Resultat? Gestresste Kollegen, überarbeitete Mitarbeiter und ein Handwerksbetrieb im Ausnahmezustand. Das wollen wir nicht, oder?
Unterlast – Die Leerlauf-Gefahr 🐌
Auf der anderen Seite, bei Unterlast in der Kapazitätsplanung, stehen mehr Mitarbeiter zur Verfügung als gebraucht werden. Leerlaufzeit, ungenutzte Potenziale und ein Team, das auf bessere Zeiten wartet. Das bedeutet nicht nur Langeweile, sondern auch finanzielle Einbußen.
Der Aufbau des Formulars für die Kapazitätsplanung
So, nach der ganzen Theorie nun aber endlich in die Praxis …
Wie erstellen wir nun am besten unser Formular in Excel für die Kapazitätsplanung unserer Mitarbeiter?
Stammdaten = Die Grundlage für alles Weitere!
Die Stammdaten sind die Grundlage, sozusagen das Fundament, auf dem wir unsere 2 Säulen Bedarf und Angebot setzen.

Hier pflegen wir 4 Tabellen:

Kategorienliste | Eine Liste der Kategorien, in die wir unsere Mitarbeiter eingruppieren wollen. Beispiel: Meister, Geselle, Azubi Fachkraft, Hilfskraft … Hier können ganz individuell die Kategorien definiert werden, die für deine Auftragsplanung wichtig sind. Also wenn du überlegst, wie viele Mitarbeiter du für den jeweiligen Auftrag brauchst und was sie können müssen, das das „was sie könne müssen“ deine Kategorie |
Mitarbeiterliste | Eine Namensliste und die zugehörige Kategorie |
Feiertagsliste | Hier listen wir alle Feiertage auf |
Anwesenheitsstatusliste | Hier listen wir alle Status auf für die Angebotsseite. Also z.B. Verfügbar, Urlaub, Krank, Wochenende, Feiertag |
Bedarf ermitteln = Wie ist die Auftragslage

Lass uns nun den Bedarf ermitteln und vorher uns aber noch einmal das Zielbild vor Augen halten.

Hier sehen wir pro Tag (beginnend ab heute), wie viele Meister wir für die Aufträge benötigen. Vom 11.12.2023 – 20.12.2023 jeweils einen Meister.
Die Basis dafür ist eine simple Excel-Tabelle, die du im Arbeitsalltag mit deinen vorliegenden Aufträgen befüllst:

- Projekt / Auftrag Nummer (zur Identifizierung der einzelnen Aufträge)
- Start (wann wollen wir mit dem Auftrag starten?)
- Dauer (wie viele Tage brauchen wir für den Auftrag?)
- Anzahl der Mitarbeiter (wie viele Mitarbeiter brauchen wir dafür?)
- Ende (ausgehend vom Start-Datum und der Dauer lassen wir das Ende einfach ausrechnen) *
ARBEITSTAG.INTL hat folgende Bedingung:

Ausgangsdatum | Gibt das Startdatum für die Funktion an. Bezieht sich auf die Spalte „Start“ in unserer Tabelle WICHTIG: Die Funktion rechnet mit dem nächsten Tag als Beginn. Daher ziehen wir vom Ausgangsdatum -1 ab. |
Tage | Gibt an, wie viele Tage auf das Ausgangsdatum addiert werden sollen. Das bezieht sich auf „Dauer (Tage)“ in unserer Tabelle |
[Wochenende] | Gibt der Funktion die Information, welche Tage als „Wochenende“ gelten. Mit 1 definieren wir in der Funktion den Samstag und Sonntag als Wochenende |
Freie Tage | Gibt der Funktion die Information, welche Tage neben den Wochenenden noch frei sind. Hier beziehen wir uns auf unsere Feiertagsliste in den Stammdaten |
Um die Formel ARBEITSTAG.INTL haben wir eine Wenn-Funktion gebaut. Wenn die Dauer kleiner als 1 ist, also weniger als einen ganzen Tag dauert, dann soll das Startdatum auch gleichzeitig das Enddatum sein.
Angebot ermitteln = Wie viele Mitarbeiter stehen zur Verfügung?

Um das herauszufinden, pflegen wir eine weitere Tabelle. Doch auch hier schauen wir uns zuerst unser Zielbild an:

Hier sehen wir, beginnend am dem heutigen Tag, dass wir vom 08.12.2023 – 22.12.2023 je einen Meister zur Verfügung haben. Die Feiertage sind direkt ausgeblendet und unser Meister genießt zwischen den Jahren seinen wohlverdienten Urlaub.
Um dahin zu kommen, pflegen wir die folgende Tabelle:

Hier tragen wir für jeden Kalendertag den Status für jeden Mitarbeiter ein.
Status kann sein: Verfügbar, Krank, Urlaub, Wochenende Feiertag
Wochenenden und Feiertage lassen wir natürlich von Excel automatisch ermitteln, das machen wir nicht selbst 😉

In dieser Formel sind verschiedene Funktionen verschachtelt.
Mit ihr prüfen wir, ob der Kalendertag ein Feiertag ist und wenn ja, lassen wir das Wort „Feiertag“ eintragen. Als nächstes prüft die Formel, ob der Kalendertag ein Wochenende ist und wenn ja, lassen wir Wochenenden eintragen. Wenn es weder Feiertag noch Wochenende ist, lässt die Funktion die Zelle leer und wir können die Status Verfügbar, Urlaub oder Krank erfassen.
Und am Ende sehen wir, wer an den einzelnen Tagen verfügbar ist. Und nur diese Mitarbeiter verplanen wir, denn wer nicht verfügbar ist, darf nicht verplant werden.
Die fertige Auswertung – mit der Kapazitätsplanung arbeiten
Unterlast erkennen und reagieren:

Wir sehen hier, dass wir vom 08.12.2023 bis 22.12.2023 jeweils einen Meister zur Verfügung haben (blaue Balken). Dieser Meister ist ab dem 11.12.2023 bis 20.12.2023 verplant (orangener Balken).
Am 08.12.2023, am 21.12.2023 und am 22.12.2023 hat er noch Kapazität frei = Unterlast.
Hier können wir also überlegen, ob wir ihn noch zu einem anderen Auftrag zuteilen können, einen bestehenden Auftrag nach vorne ziehen können (der Kunde wird es uns danken) oder ob wir kurzfristig einen neuen Auftrag annehmen können (auch das wird unser Kunde uns danken).
Überlast erkennen und reagieren:
Eine Überlast erkennen wir daran, dass der Bedarf größer ist als das Angebot. In der Grafik sehen wir das dadurch, dass der orangene Balken (Bedarf) länger ist als der blaue Balken (Angebot).
Hier müssen wir reagieren. Wir sehen absehbar, dass wir die Aufträge mit der Mannstärke nicht schaffen können.
Optionen wären, dass wir für Aufträge eine längere Zeit einplanen, dafür aber mit weniger Mitarbeiter auskommen. Oder wir verschieben einen Auftrag. Oder gibt es im Notfall die Option, Mitarbeiter aus dem Urlaub zurückzuholen oder kurzfristig einen Hilfsarbeit an Bord zu nehmen? Oder schaffen wir den Auftrag mit Überstunden einen Tag schneller?
Ihr kennt euch in eurem Betrieb am besten aus und wisst, welche Maßnahmen ihr angehen könnt.
Die Excel-Tabelle zeigt euch in einem Blick auf, wo ihr reagieren müsst!
Weniger Zeit um die Probleme zu finden = mehr Zeit um die Probleme zu lösen!
PowerQuery
Um von den Tabellen zu den Grafiken zu kommen nutzen wir PowerQuery.
PowerQuery ist ein mächtiges Werkzeug, welches Excel standardmäßig mitliefert.
Mit PowerQuery können immer wiederkehrende gleichartige Schritte einmal eingestellt werden und Excel führt diese für uns mit einem einfachen Klick auf Aktualisieren automatisch für uns aus.
Zunächst fügen wir eine Formel ein, die uns die Arbeitstage zwischen Startdatum und Enddatum ausrechnet. Die Formel kopiere ich der Einfachheit hier ein:
= (StartDatum as date, Dauer as number ) =>
let
Quelle = List.Dates( StartDatum, Dauer * ( Number.RoundUp( Dauer/7, 0 ) * 7), #duration(1,0,0,0)),
#“In Tabelle konvertiert“ = Table.FromList(Quelle, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#“Zusammengeführte Abfragen“ = Table.NestedJoin(#“In Tabelle konvertiert“, {„Column1“}, Feiertage, {„Datum“}, „Feiertage“, JoinKind.LeftAnti),
#“Gefilterte Zeilen“ = Table.SelectRows(#“Zusammengeführte Abfragen“, each Date.DayOfWeek( [Column1], Day.Monday ) < 5 ),
#“Beibehaltene erste Zeilen“ = Table.FirstN(#“Gefilterte Zeilen“, Dauer )[Column1]
in
#“Beibehaltene erste Zeilen“
Die einzelnen Schritte im Bereich Bedarf sind:
- Laden der Tabelle in PowerQuery
- Umbenennen der Abfrage in „KapaBedarf volle Tage“ um den Namen sprechend zu gestalten
- Die Spalte „Dauer (Tage)“ nach Trennzeichen teilen und hier das Komma als Trennzeichen auswählen. So ist die Zahl vor dem Komma getrennt von der Zahl nach dem Komma
- Die Spalte mit der Zahl nach dem Komma entfernen wir. Die brauchen wir für die Bedarfsermittlung der vollen Tage nicht
- Die Spalte „Dauer (Tage)“ ändern wir den Typ auf Dezimalzahl und filtern die Null-Einträge heraus, um nur noch Aufträge zu haben, die mindestens einen Tag brauchen
- Wir kombinieren die Abfrage mit der erstellten Kennzahl und erweitern die Abfrage um die Tage. Die neue Spalte nennen wir in „Datum“ um
- Wir filtern die Spalten und lassen uns nur noch unsere Mitarbeitergruppen anzeigen (in meinem Beispiel Meister, Geselle, Azubi) und das Datum
- Wir gruppieren die Zeilen nach Datum und fügen im Gruppieren neue Spalten hinzu: Meister (Bedarf), Geselle (Bedarf), Azubi (Bedarf)
- Im Gruppieren lassen wir diese neuen Spalten summieren. So erhalten wir für jedes Datum nur eine Zeile und die Bedarfssumme unserer Mitarbeitergruppen
Mit den anteiligen Tagen gehen wir ganz ähnlich vor:
- Laden der Tabelle in PowerQuery
- Umbenennen der Abfrage in „KapaBedarf anteiligeTage“ um den Namen sprechend zu gestalten
- Die Spalte „Dauer (Tage)“ nach Trennzeichen teilen und hier das Komma als Trennzeichen auswählen. So ist die Zahl vor dem Komma getrennt von der Zahl nach dem Komma
- Die Spalte mit der Zahl vor dem Komma entfernen wir. Die brauchen wir für die Bedarfsermittlung der anteiligenTage nicht
- Wir ändern den Typ der Spalte mit den anteiligen Tagen auf Text
- Wir fügen eine neue Spalte hinzu mit folgender Funktion: = „0,“ & [#“Dauer (Anteiliger Tag)“], hierdurch ergänzen wir die Nachkommastelle mit einem „0,“ vorneweg
- Wir ändern den Typ dieser neuen Spalte auf Dezimalzahl ab und filtern die Null-Einträge heraus. Diese brauchen wir nicht
- Wir fügen für jede unserer Mitarbeitergruppen eine neue Spalte ein, die wie folgt aufgebaut ist am Beispiel Meister: = [Meister] * [Anteiliger Tag], hiermit rechnen wir den Meisterbedarf mal den anteiligen Tagen
- Wir gruppieren die Zeilen nach Datum und fügen im Gruppieren neue Spalten hinzu: Meister (Bedarf), Geselle (Bedarf), Azubi (Bedarf)
- Im Gruppieren lassen wir diese neuen Spalten summieren. So erhalten wir für jedes Datum nur eine Zeile und die Bedarfssumme unserer Mitarbeitergruppen
Diese beiden Abfragen fügen wir nun an:
- Abfrage mit den ganzen Tagen und den anteiligen Tagen als neue Abfrage anfügen und diese „KapaBedarf Gesamt“ nennen
- Wir gruppieren die Zeilen nach Datum und fügen im Gruppieren neue Spalten hinzu: Meister (Bedarf), Geselle (Bedarf), Azubi (Bedarf)
Die einzelnen Schritte im Bereich Angebot sind:
- Laden der Tabelle in PowerQuery
- Filtern des Status auf Verfügbar, alle anderen Status brauchen wir nicht
- Wir gruppieren die Zeilen nach Datum und nach Kategorie und lassen uns in der neuen Spalte die Summe bilden. So haben wir für jedes Datum nur eine Zeile und sehen für jede unserer Mitarbeitergruppen, wie viel Angebot wir haben
- Wir pivotieren die Mitarbeiterkategorie. Dadurch bekommt jede Mitarbeiterkategorie eine eigene Spalte
- Diese neuen Spalten benennen wir um in z.B. Meister (Angebot), Geselle (Angebot), Azubi (Angebot)
Die Schritte um Bedarf und Angebot zusammenzufügen, sind:
- Zunächst erstellen wir eine neue leere Abfrage
- Dort tragen wir folgende Funktion ein, die wir „Heute“ nennen: = Date.From(DateTime.LocalNow()), diese gibt uns das Tagesdatum zurück
- Dann fügen wir eine weitere Funktion ein, die wir „Datumsliste“ nennen: = List.Dates(Heute, 366, #duration(1, 0, 0, 0))
- Wir fügen noch eine Funktion ein, die wir „Tabelle“ nennen: = Table.FromList(Datumsliste, Splitter.SplitByNothing(), {„Datum“}, null, ExtraValues.Error)
- Hierdurch haben wir eine Datumsliste generiert, die vom aktuellen Tagesdatum 366 Tage hinzurechnet
Nun fügen wir die Abfragen zusammen:
- Zunächst die Abfrage Kalendertage mit der Abfrage KapaAngebot, in dem wir die Abfragen als neue Abfrage zusammenführen und das Datum als Vergleichsspalte verwenden
- Wir erweitern die Spalten um Meister (Angebot), Geselle (Angebot) und Azubi (Angebot)
- Wir fügen die Abfrage KapaBedarfGesamt in diese Abfrage ein und nehmen auch hier das Datum als Vergleichsspalte
- Wir erweitern die Abfrage um die Spalten Meister (Bedarf), Geselle (Bedarf) und Azubi (Bedarf)
- Wir fügen die Spalten für jede unserer Mitarbeiterkategorien eine neue bedingte Spalte ein und ermitteln die Überlast, Volllast, Unterlast.
- Volllast ist wenn Angebot = Bedarf, Unterlast ist, wenn Angebot > Bedarf und Überlast ist wenn Angebot < Bedarf
Diese zusammengeführte Abfrage lassen wir als Pivot-Table in Excel laden.
Daraus generieren wir uns dann letztendlich die Grafiken und Datenschnitte, die wir eingangs im Tabellenblatt Grafiken gesehen haben.
Fazit
Wenn die Excel-Vorlage für deine Kapazitätsplanung einmal aufgebaut ist (oder gekauft ist … 😉) dann geht es nur noch darum, die Aufträge einzutragen und die Verfügbarkeit der Mitarbeiter zu erfassen.
Auf Knopfdruck sehen wir dann, wie unsere Mitarbeiter verplant sind, an welchem Tag es schon passt, wo noch eine Überlast ist und wo noch eine Unterlast ist.
Wir sehen dann, wo wir reagieren müssen und verschiedene Optionen ausprobieren.
So schaffen wir es, dass unsere Kapazitätsplanung für Mitarbeiter stets ausgeglichen bleibt.
Dazu einfach in der Excel-Liste ein paar Änderungen auf der Bedarfsseite oder der Angebotsseite oder auf beiden Seiten vornehmen und prüfen, ob es dadurch eine Verbesserung gibt.
Überlast und Unterlast in der Kapazitätsplanung im Handumdrehen ausgleichen 😊