ich habe mir die folgende Formel zusammengebastelt, welche auch inhaltlich richtig funktioniert und bereits getestet wurde:
Zelle P1 =SUMMENPRODUKT((TEILERGEBNIS(3;INDIREKT("B"&ZEILE(B2:B65536)))=1)*(H2:H65536))
/SUMMENPRODUKT((TEILERGEBNIS(3;INDIREKT("B"&ZEILE(B2:B65536)))=1)*(ISTZAHL(H2:H65536)))
Kurze Erläuterung:Je nach dem, welche Auswahl über den Autofilter getroffen wurde, muss Excel z.B. in Zelle P1 den folgenden Wert ermitteln:
Wenn z.B. in Spalte B ein x steht (quasi angekreuzt wurde) dann soll er in Spalte H,
wenn eine Zahl in gleicher Zeile steht, diese Zahlen in Spalte H aufsummieren und anschließend den Mittelwert bilden.
Das gleiche habe ich habe ich auch noch für andere Spalten, also wenn z.B. in Spalte C ein Kreuz gemacht wurde sollen aus Spalte H
die zugehörigen Werte aufsummiert und davon der Mittelwert errechnet werden .
(bei Änderung der Auswahl über den Autofilter müssen sich die Ergebnisse natürlich aktualisieren)
Das Problem seht ihr in der Formel vielleicht auf den ersten Blick:
Der ausgefüllte Tabellenbereich kann in Zukunft beliebig erweitert werden,
weshalb ich angegeben habe, dass Excel diese Überprüfung bis zur letzten Zeile: 65536 durchführen soll.
Das funktioniert zwar aber dauert natürlich viel zu lange, zumal der Tabellenbereich sicher nie so weit ausgefüllt sein wird
und ich mit diesem Prinzip mehrere Ergebnisse bzw. Spalten abgleichen muss.
Habt ihr vielleicht eine Idee wie man diese Formel in ein Makro einbinden kann,
ohne dass die Berechnung unnötigerweise bis zur letzten Zeile 65536 der Tabelle durchgeführt wird
und somit keine Excel-Kapazität verschwendet wird?
Freundliche Grüße
Isolde