Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Summenprodukt Dynamisch
#1
Hallo zusammen,

ich verzweifle gerade an einer Excelformel... Huh 

Ich möchte aus einer gefilterten Tabelle die Anzahl der Zellen mit einem bestimmtem Wert(C2) Zählen. Soweit so gut.
Jetzt kann sich die Spalte, in der diese Werte (C2) stehen, ändern und da brauche ich eure Hilfe. Meine aktuelle formel lautet:

=SUMMENPRODUKT(TEILERGEBNIS(103;INDIREKT("Tabelle1!"&O16&""&ZEILE(1:20000)))*(Tabelle1!I1:I20000=C2))

Der vordere Teil ist inwischen dynamisch (Excel nimmt den Spaltenbuchstaben aus O16) bei dem hinteren Teil nach dem * habe ich noch Probleme. Das I möchte ich auch am besten mit der Zelle O16 ersetzen.

Danke schonmal :)
Antworten Top
#2
Hallo,

das geht grundsätzlich sicher performanter. Lade mal bitte eine Beispieldatei hoch.
Gruß Jonas
Antworten Top
#3
Hallo Tiefgekühlt!
Basierend auf deiner Lösung, in die du dich bereits reingearbeitet hast, habe ich die Formel einfach mal weiterentwickelt.
Beispieldaten:  siehe angehängte Hardcopy in jpg Format


G1 enthält den zu suchenden Wert.
G2 den zu durchsuchenden Bereich
Formel in B13:    
=SUMMENPRODUKT((TEILERGEBNIS(3;INDIREKT("B"&ZEILE(INDIREKT(G2))))=1)*(INDIREKT(G2)=G1))

Gruß Thomas


Angehängte Dateien Thumbnail(s)
   
[-] Folgende(r) 1 Nutzer sagt Danke an bayernsandy für diesen Beitrag:
  • Tiefgekühlt
Antworten Top
#4
Ja das kann gut sein :)

hier eine Beispieldatei


Angehängte Dateien
.xlsx   test.xlsx (Größe: 141,86 KB / Downloads: 10)
Antworten Top
#5
Hallo,

leider befinden sich in Deiner Beispieldatei keine gefilterterten Daten :22:

Grundsätzlich würde ich INDIREKT vermeiden und durch eine Kombination aus INDEX und VERGLEICH ersetzen. Das hat neben der Volatilität von INDIREKT auch noch den Nutzen, dass Du Dir die umständliche Spaltenermittlung sparen kannst.

Noch ein Hinweis zur Beispieldatei: Diese sollte so nah wie möglich an Deinem Original-Problem liegen und auch das Wunschergebnis beinhalten.
Gruß
Michael
Antworten Top
#6
@Thomas: Danke das werd ich gleich mal ausprobieren. :)

@Steuerfuzzi

Also in Tabelle1 sind die Daten wo dann auch gefiltert wird (zB. nach A).
In dem Blatt Statistik soll dann die Anzahl der Werte angegeben werden( zB. gibt es in der Zeile mit Cola 12 mal)
Antworten Top
#7
OK, verstanden. Ja, dann muss ich meine Aussage anpassen. Durch den Filter musst Du die Zeilen mit Teilergebnis einzeln abarbeiten und das mW geht nicht ohne INDIREKT. Also kann man das in diesem Fall wohl nicht durch INDEX/VERGLEICH ersetzen.
Gruß
Michael
Antworten Top
#8
Hallo,

mit VBA wäre das kein Problem, ist das eine Möglichkeit?
Gruß Jonas
Antworten Top
#9
er mein Vorschlag:
Code:
C2 =SUMMENPRODUKT(TEILERGEBNIS(103;INDIREKT("Tabelle1!G"&ZEILE($A$2:INDEX($A:$A;VERWEIS(2;1/(Tabelle1!$G$1:$G$200<>"");ZEILE(Tabelle1!$G$1:$G$200))))))*((INDEX(Tabelle1!$A:$AA;2;VERGLEICH($O$12;Tabelle1!$1:$1;0)):INDEX(Tabelle1!$A:$AA;VERWEIS(2;1/(Tabelle1!$G$1:$G$200<>"");ZEILE(Tabelle1!$G$1:$G$200));VERGLEICH($O$12;Tabelle1!$1:$1;0)))=C2))
Das ganze funktioniert für die letzte Spalte (no entry) nur, wenn Du die Spaltenüberschrift in H2 entfernst (H2 muss leer sein!). Wenn Du die Überschrift unbedingt willst, kannst Du die Formel in H3 so abändern, das statt dem Vergleich mit H2 ein Vergleich mit einem Leerstring "" stattfindet.

Die Formel berücksichtigt die tatsächliche Länge der Liste und sollte damit schneller sein, als Deine Formel, die einfach bis Zeile 20000 vergleicht.
Gruß
Michael
[-] Folgende(r) 1 Nutzer sagt Danke an Der Steuerfuzzi für diesen Beitrag:
  • Tiefgekühlt
Antworten Top
#10
Noch etwas schneller ist die Pivot-Tabelle.
Voraussetzung ist dass die Tabelle in eine Datensatzliste umgewandelt wird.
"Objekt" in Filterbereich und auf "A" filtern.
"Getränk" und "Wert" in den Spaltenbereich.
"Wert" in den Wertebereich.
Grüsse
Detlef

Bitte keine PN!
Seit Nikolaus 2012 mit Excel 2010. Seit Ostern 2015 mit Office 365
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste