Summe der VLookup-Werte auf mehreren Blättern

Summe der VLookup-Werte auf mehreren Blättern

Habe 12 Excel-Tabellenblätter in einer Arbeitsmappe für jeden Monat Jan.-Dez. Jedes Blatt enthält Namen und für diesen Monat markierte Abwesenheiten in derselben Zeile und den Summenwert für jede Abwesenheitskategorie am Ende der Tabelle. Ich muss die Werte dieser einzelnen Tabellenblätter zusammenfassen, indem ich in allen Tabellenblättern nach dem Namen jeder Person suche. Wie kann ich das in Excel erreichen? Ich habe versucht, die Summe der VLookup-Ergebnisse aller Tabellenblätter zu berechnen, es wird ein Fehler ausgegeben oder es wird kein Ergebnis angezeigt.

Antwort1

Es kann einfacher sein, hier SUMIF zu verwenden, da SUMIF keinen Fehler ausgibt, wenn die Person auf keinem bestimmten Blatt gefunden wird (obwohl alle Blätter vorhanden sein müssen). Wenn Sie also Blätter von „Jan“ bis „Dez“ haben, versuchen Sie diese Formel für die Gesamtsumme der 12 Monate

=SUM(SUMIF(INDIRECT({"jan";"feb";"mar";"apr";"may";"jun";"jul";"aug";"sep";"oct";"nov";"dec"}&"!B8:B110"),B8,INDIRECT({"jan";"feb";"mar";"apr";"may";"jun";"jul";"aug";"sep";"oct";"nov";"dec"}&"!AL8:AL110")))

Sie können dies verkürzen, indem Sie einen benannten Bereich verwenden, z. B.

Sheetlist ={"jan";"feb";"mar";"apr";"may";"jun";"jul";"aug";"sep";"oct";"nov";"dec"}

dann wird die Formel

=SUMPRODUCT(SUMIF(INDIRECT(Sheetlist&"!B8:B110"),B8,INDIRECT(Sheetlist&"!AL8:AL110")))

Antwort2

Diese Zusammenfassung lässt sich viel einfacher erstellen, wenn Sie Ihre Monatsblätter in einem einzigen Datenbankblatt für das Jahr zusammenfassen. Dann können Sie eine Pivot-Tabelle erstellen, die die Zusammenfassung pro Person in kurzer Zeit durchführt.

Ich vermute, dass Ihre Summe der VLookups einen Fehler verursacht, weil jede Person nur in einigen Monaten eines Jahres Urlaub nimmt. Dies lässt sich umgehen, indem Sie die Lookups in IFERROR-Funktionen einbinden. Die Formeln müssten also folgendermaßen aussehen:

 =sum(iferror(vlookup(<person name>,<January sheet name!data range>,<leave column number>,0),0),
      iferror(vlookup(<person name>,<February sheet name!data range>,<leave column number>,0),0),
      etc.
      )

Dies könnte etwas weniger umständlich gestaltet werden, indem für jeden Monat eine Suche in einzelnen Spalten eingerichtet und die Ergebnisse dann über alle Spalten hinweg summiert werden.

Eine weitere Alternative, mit der ich nicht sehr vertraut bin, die aber Ihren Anforderungen entsprechen könnte, ist der Befehl Datenkonsolidierung. Eine Erklärung des Befehls finden SieHier.

Ich kann den PivotTable-Ansatz wärmstens empfehlen.

verwandte Informationen