Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zählenwenn über mehrere Tabellenblätter

Forumthread: Zählenwenn über mehrere Tabellenblätter

Zählenwenn über mehrere Tabellenblätter
14.01.2003 19:18:48
BioMel
Hallo,

ich habe folgendes Problem:

mehrere Tabellenblätter in deren erster Spalte 4stellige Nummern stehen.
In einem Ergebnistabellenblatt soll (wenn möglich sogar unter Bedingungen) aufgelistet werden, wie oft jede 4stellige Nummer in den vorhergehenden Tabellenblättern genannt wurde.

Zählenwenn läuft meines Wissens nicht über mehrere Blätter, was kann ich tun?

Vielen Dank für die Hilfe,

Melanie

P.S.: Es betrifft Excel für Mac, aber das solte wohl keinen großen Unterschied machen...

Anzeige

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Sollte doch funktionieren mit
14.01.2003 19:22:41
Boris
=ZÄHLENWENN(A:A;"Hallo")+ZÄHLENWENN(Tabelle2!A:A;"Hallo")+ZÄHLENWENN(Tabelle3!A:A;"Hallo")

Gruß Boris

Re: Sollte doch funktionieren mit
14.01.2003 20:10:04
Melanie
Tut es im Prinzip auch.

Ich suche nur nach einer eleganten Lösung, mit der das Einfügen von weiteren Tabellenblättern leichter ist. So müßte ich bei ca. 30 Formeln den Verweis auf das neue Datenblatt ändern.

Trotzdem Danke,
Melanie

Anzeige
Keine weitere Idee...
14.01.2003 21:04:26
Boris
Hallo Melanie,

mit SUMME ist das ja kein Problem. Aber mit SUMMEWENN oder ZÄHLENWENN oder SUMMENPRODUKT etc. funzt es leider über mehrere Blätter nicht.

Vielleicht hat nich jemand anderes eine Idee.

Gruß Boris

Re: Zählenwenn über mehrere Tabellenblätter
14.01.2003 21:30:32
L.Vira
Wie wärs mit einer freundlichen kleinen Schleife über alle Tabellen?

Anzeige
Re: Zählenwenn über mehrere Tabellenblätter
14.01.2003 21:57:07
Melanie
Und wie geht das?
So gut kenne ich mich dann doch nicht aus.

Melanie

Re: Zählenwenn über mehrere Tabellenblätter
14.01.2003 22:03:59
L.Vira
Ich hab jetzt erst deinen Zusatz gelesen, dass es für einen Mac ist. Ich weiß nun nicht, ob die Syntax da identisch ist, aber probieren kann ja nix schaden.
Annahme: deine zu zählenden Begriffe stehen in Tabelle1, Spalte A
In Spalte B werden die Anzahlen jeweils danebengeschrieben. Die erste Schleife geht die Begriffe durch, die innere Schleife geht
alle Blätter durch, die nicht Tabelle1 heißen:

Option Explicit
Sub Zählenwenn_Sheets()
Dim WS As Worksheet, WS1 As Worksheet, ZW As Long, S As Integer
Dim Z As Long, LZ As Long, SB As Variant, SumZW As Long
Set WS1 = Sheets("Tabelle1")
LZ = WS1.[a65536].End(xlUp).Row
For Z = 1 To LZ
SB = WS1.Cells(Z, 1)
For S = 1 To Worksheets.Count
If Not Sheets(S).Name = WS1.Name Then
Set WS = Sheets(S)
ZW = WorksheetFunction.CountIf(WS.[a:a], SB)
SumZW = SumZW + ZW
WS1.Cells(Z, 2) = SumZW
End If
Next
SumZW = 0
Next
Set WS = Nothing
Set WS1 = Nothing
End Sub

Feedback wäre nicht schlecht, wegen der Mac- Geschichte.

Anzeige
Re: Keine weitere Idee...
14.01.2003 22:11:27
Nepumuk
Hallo Melanie,
die Formeln ließen sich aber automatisch mit einer Workbook_SheetSelectionChange-Routine an die Anzahl der vorhandenen Tabellen anpassen.
Beispiel:

Gruß
Nepumuk
Re: Zählenwenn über mehrere Tabellenblätter
14.01.2003 22:36:33
Melanie
Wunderbar, danke.

Feedback kommt morgen. Der Mac steht im Büro, ich kann´s also erst dort ausprobieren.

Anzeige
Re: Keine weitere Idee...
14.01.2003 22:38:21
Melanie
Hallo Nepumuk,

Dir auch ein DANKE!
Wie gesagt: morgen wird´s ausprobiert.

Gruß,
Melanie

Re: Keine weitere Idee...
14.01.2003 22:45:55
L.Vira
Ganz schön raffiniert, aber ich versteh das nicht ganz. Habs mal getestet und folgendes Ergebnis:
{=SUMME(ZÄHLENWENN(INDIREKT("Tabelle"&ZEILE(1:3)&"!1:65536");"Hallo"))}

In der zelle steht #BEZUG

Kannst du mir das mal bitte interpretieren?

Anzeige
Re: Keine weitere Idee...
14.01.2003 22:52:01
Nepumuk
War ja auch nur als Beispiel gedacht, du brauchst nur ein Blatt, das nicht Tabelle heißt, sons gibt's einen Zirkelbezug.
Re: Keine weitere Idee...
14.01.2003 22:54:25
L.Vira
Hab ich ja, kam ja auch nix mit Zirkelbezug.
Was bedeutet das mit Zeile(1:3)
Re: Keine weitere Idee...
14.01.2003 22:58:49
Nepumuk
Das ist der Verweis auf die Blätter Tabelle1 / Tabelle2 / Tabelle3
Anzeige
Danke, jetzt hats geklickt...oT
14.01.2003 23:09:46
L.Vira
oT
Re: Keine weitere Idee...
15.01.2003 08:38:49
Melanie
Hallo Nepumuk,

jetzt habe ich das Problem, daß ich nicht sicher bin ob das richtig ist was ich hier mache.
Also ich habe in Excel mittels VBS ein Modul mit dem Namen Workbook_Open und eins mit dem Namen Workbook_SheetSelectionChange erstellt und den Code dort eingegeben.

Und nun?

Bitte helft mir nochmal und erklärt es einem Anfänger!

Melanie

Anzeige
Brauche noch ein bißchen mehr Hilfe
15.01.2003 09:27:02
Melanie
Hallo,

mein Problem ist, daß ich (wie unten beschrieben) nicht so genau weiß wie ich das jetzt in Excel einbauen muß.

für weitere Hilfe wäre ich dankbar.

Re: Keine weitere Idee...
15.01.2003 09:28:06
Nepumuk
Hallo Melanie,
der Code kommt in das Klassenmodul "Diese Arbeitsmappe". Er funktioniert aber nur, wenn die Tabellenblätter die Namen Tabelle1 bis Tabelle?? tragen und die Tabelle in die die Formeln eingetragen wird z.B. Blatt heißt. Das ganze war aber nur als Beispiel gedacht und lässt sich natürlich auf deine Bedüfnisse anbassen. Dazu hatte ich aber zu wenig Informationen. Darum brauche ich die genaue Bezeichnung der Tabelle, auf der die Formeln stehen und deren genaue Position sowie die Position des Suchbegriffes. Außerdem die Namen der Tabellenblätter die durchsucht werden müssen und die Angabe in welcher Zeile bzw. Spalte gesucht werden soll.
Gruß
Nepumuk
Anzeige
Re: Brauche noch ein bißchen mehr Hilfe
15.01.2003 09:44:23
Nepumuk
Hallo Melanie,
auch hier das selbe Problem, der Tabellenname der Suchbegriffe und deren Position und die Ausgabeposition der gefundenen Anzahl sowie die Zeile bzw. Spalte die dursucht werden soll. Der code kommt in ein normales Modul. Das geht so: Mit der Tasenkombination Alt+F11 in den VBA-Editor wechseln. Im Menü Einfügen den Eintrag Modul anklicken. In das sich öffnede Blatt den Code von L.Vira kopieren und den Editor mit der Tastenkombination Alt+Q schliessen. Nun musst du nur noch mit der Tasenkombination Alt+F8 das Modul aufrufen und auf ausführen klicken.
Gruß
Nepumuk
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Zählenwenn über mehrere Tabellenblätter in Excel


Schritt-für-Schritt-Anleitung

Um die Funktion ZÄHLENWENN über mehrere Tabellenblätter in Excel anzuwenden, kannst Du die folgende Methode verwenden:

  1. Erstelle eine Liste der zu zählenden Werte: In einem neuen Tabellenblatt (z.B. "Ergebnisse") trägst Du die 4-stelligen Nummern in Spalte A ein.
  2. Formel eingeben: In Spalte B kannst Du die folgende Formel verwenden, um die Anzahl der Vorkommen in mehreren Tabellenblättern zu zählen:

    =ZÄHLENWENN(Tabelle1!A:A; A1) + ZÄHLENWENN(Tabelle2!A:A; A1) + ZÄHLENWENN(Tabelle3!A:A; A1)

    Diese Formel zählt die Anzahl der Vorkommen von A1 in den Spalten A von Tabelle1, Tabelle2 und Tabelle3.

  3. Erweiterung der Formel: Füge weitere ZÄHLENWENN-Funktionen für zusätzliche Tabellenblätter hinzu, oder nutze die oben erklärt Schleifen-Methode für eine dynamische Lösung.

Häufige Fehler und Lösungen

  • Fehler: #BEZUG!: Dieser Fehler tritt auf, wenn Du versuchst, auf ein nicht existierendes Blatt zuzugreifen. Vergewissere Dich, dass alle Blätter existieren und die Namen korrekt sind.

  • Lösung für dynamische Blätter: Wenn Du viele Tabellenblätter hast und nicht jedes Mal die Formel anpassen möchtest, kannst Du VBA verwenden, um die Zählung automatisch durchzuführen (siehe auch den Abschnitt "Alternative Methoden").


Alternative Methoden

Eine elegante Lösung ist die Verwendung von VBA. Hier ist ein Beispiel, wie Du ein Makro erstellen kannst, das ZÄHLENWENN über alle Tabellenblätter anwendet:

Option Explicit
Sub Zählenwenn_Sheets()
    Dim WS As Worksheet, WS1 As Worksheet
    Dim ZW As Long, LZ As Long, SB As Variant
    Set WS1 = Sheets("Ergebnisse")
    LZ = WS1.[A65536].End(xlUp).Row

    For Z = 1 To LZ
        SB = WS1.Cells(Z, 1)
        ZW = 0
        For Each WS In ThisWorkbook.Worksheets
            If WS.Name <> WS1.Name Then
                ZW = ZW + WorksheetFunction.CountIf(WS.Range("A:A"), SB)
            End If
        Next WS
        WS1.Cells(Z, 2) = ZW
    Next Z
End Sub

Dieses Skript zählt die Vorkommen der Werte in allen Blättern, außer dem Ergebnissheet.


Praktische Beispiele

  1. Zählen von "x" in mehreren Blättern:

    • Möchtest Du die Anzahl der "x" in mehreren Tabellen zählen, kannst Du die Formel anpassen:
    =ZÄHLENWENN(Tabelle1!A:A; "x") + ZÄHLENWENN(Tabelle2!A:A; "x") + ZÄHLENWENN(Tabelle3!A:A; "x")
  2. Benutze der INDIRECT-Funktion für Flexibilität:

    • Du kannst die INDIREKT-Funktion verwenden, um die Blätter dynamisch anzusprechen:
    =SUMME(ZÄHLENWENN(INDIREKT("Tabelle"&ZEILE(1:3)&"!A:A"); "Hallo"))

Tipps für Profis

  • Verwende benannte Bereiche: Wenn Du häufig die gleichen Bereiche zählst, kannst Du benannte Bereiche in Excel erstellen, um die Formeln übersichtlicher zu gestalten.

  • Automatisiere mit VBA: Wenn Du regelmäßig neue Tabellenblätter hinzufügst, kann ein VBA-Skript viel Zeit sparen, da es die Formeln automatisch aktualisiert.

  • Nutze Pivot-Tabellen: Wenn Du eine große Datenmenge hast, erwäge die Verwendung von Pivot-Tabellen, um die Daten effizienter zu analysieren.


FAQ: Häufige Fragen

1. Kann ich ZÄHLENWENN auch für mehrere Arbeitsblätter nutzen?
Ja, Du kannst ZÄHLENWENN über mehrere Arbeitsblätter hinweg anwenden, indem Du die Blätter in der Formel nennst oder ein VBA-Skript verwendest.

2. Gibt es eine Möglichkeit, die Formel automatisch anzupassen, wenn ich neue Blätter hinzufüge?
Ja, indem Du ein VBA-Makro schreibst, das die Zählung in allen vorhandenen Blättern durchführt, kannst Du die Notwendigkeit, die Formel manuell zu aktualisieren, umgehen.

3. Funktioniert das auch auf einem Mac?
Ja, die meisten der beschriebenen Methoden funktionieren auch in Excel für Mac, jedoch kann die Syntax in VBA leicht variieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige