Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Mittelwert über mehrere Tabellenbläter

Mittelwert über mehrere Tabellenbläter
31.08.2022 10:22:12
michax
Hallo,
folgende Problemstellung:
Ich habe ein Ausgangsblatt auf dem ein Suchkriterium in Spalte A steht und in Spalte B ein Mittelwert aus den anderen Tabellenblättern (habe ich zwischen Tabellenblatt "Start" und "Stop" gesetzt) errechnet werden soll. In diesem Tabellenblättern steht der Suchbegriff auch in Spalte A und die Werte in Spalte B.
Ist dies verständlich?
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mittelwert über mehrere Tabellenbläter
31.08.2022 10:46:34
{Boris}
Hi,
3D-Bezüge sind von vielen Funktionen von Haus aus nicht auswertbar - zumindest nicht, wenn noch - wie in Deinem Fall - eine Bedingung dazukommt.
Eine denkbare Lösung könnte so aussehen (Suchkriterium ist hier "a" - kannst natürlich auch einen Zellbezug verwenden, wo Dein Suchbegriff steht):
=MITTELWERT(MITTELWERTWENNS(INDIREKT("'"&"Tabelle"&{2.3}&"'!B:B"); INDIREKT("'"&"Tabelle"&{2.3}&"'!A:A");"a"))
Die Formel impliziert, dass die Blattnamen, aus denen die Mittelwerte gebildet werden, indizierbar sind - im Beispiel sind es die beiden Blätter "Tabelle2" und "Tabelle3".
Das macht das Ganze einfacher. Sollten sie nicht indizierbar sein, dann muss man die Blattnamen explizit mit angeben - im Beispiel heißen die beiden Blätter "Haus" und "Garten":
=MITTELWERT(MITTELWERTWENNS(INDIREKT("'"&{"Haus"."Garten"}&"'!B:B"); INDIREKT("'"&{"Haus"."Garten"}&"'!A:A");"a"))
VG, Boris
Anzeige
AW: (D)eine Beispieldatei wäre hilfreich(er) owT
31.08.2022 10:46:57
neopa
Gruß Werner
.. , - ...
AW: Mittelwert über mehrere Tabellenbläter
31.08.2022 11:05:43
GerdL
Hallo Micha!

Sub Unit()
Dim intsh As Integer
Dim dblSum As Double
Dim intCt As Integer
Dim strSuch As String
'Name der Ergebnistabelle anpassen
For lngZeile = 2 To Sheets("Tabelle1").Cells(Sheets("Tabelle1").Rows.Count, 1).End(xlUp).Row
strSuch = Sheets("Tabelle1").Range("A" & lngZeile) 'anpassen
For intsh = Sheets("Start").Index + 1 To Sheets("Stop").Index - 1
If WorksheetFunction.CountIf(Sheets(intsh).Range("A:A"), strSuch) > 0 Then
dblSum = dblSum + WorksheetFunction.VLookup(strSuch, Worksheets(intsh).Range("A:B"), 2, 0)
intCt = intCt + 1
End If
Next
Sheets("Tabelle1").Range("B" & lngZeile) = dblSum / intCt
Next
End Sub
Gruß Gerd
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

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