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

Summenprodukt und "Nicht leer"

Forumthread: Summenprodukt und "Nicht leer"

Summenprodukt und "Nicht leer"
Heinz
Hallo Excellenten,
meine Tabelle ist auf einem Tabellenblatt,
Die relevanten Spalten alle Namen, z.B. Spalte1, Spalte2, Spalte3 usw.
und ich habe auf einem anderen Tabellenblatt eine eine Summenprodukt-Formel,
die sich auf mit Indirekt die Bezüge herstellt.
.....A..................B..................C
1 Spalte1.......Spalte2..........Spalte3
2 X...............1...................?
Sinngemäß:
A14=Summenprodukt((Indirekt(A1)=A2)*(INDIREKT(B1)=B2)*(INDIREKT(C1)=C2))
und jetzt kommts.
In Spalte3 soll zunächst mal jeder Wert (egal ob Text oder Zahl) akzeptiert werden.
Das Ergebnis bezieht sich damit nur auf die ersten beiden Bedingungen.
Sobald ich aber in C2 was rein schreibe, sollte diese Bedingung in die Summenprodukt-Formel
einfließen und das Ergebnis verändern.
Also ich bräucht für die Zelle C2, wo jetzt die Fragezeichen drinstehen,
sowas wie ein * (Sternchen), was stellvertrtend steht für alle möglichen Eingaben.
Ich kann die dritte Bedingung natürlich in eine Wenn-Dann-Formel umarbeiten
z.B. *wenn(C20;Indirekt(C1)=C2;1)*
aber dann wird das ganze eine Matrix-Formel.
Das ist prinzipiell nicht schlecht, belastet aber das System extrem, weil ich diese Formel
ein paar hundert mal in meiner Datei habe.
Ich freue mich auf Eure Vorschläge.
Heinz
Anzeige

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

Betreff
Benutzer
Anzeige
Prinzipiell: Ja, das geht! INDIREKT(TEXT(...))
19.01.2011 15:54:32
Luc:-?
Hi, Heinz;
obwohl nicht ganz klar wird, warum du die Namen mit INDIREKT und nicht direkt aufrufst, vermute wg größerer Berechnungsflexibilität, geht das bspw so…
1. Definiere im Namensmanager eine benannte Konstante, zB Dummy=1!
2. Ergänze den entsprechenden Teil deiner Formel um die Fkt TEXT → …*INDIREKT(TEXT(C1;";;""Dummy"";@"))
Eine leere Zelle C1 wird von TEXT als vom Wert 0 interpretiert. Dieser wird unterdrückt und durch den Text Dummy ersetzt. Zahlen≠0 in der Zelle wdn als Leerstring interpretiert, was dann in der Fml zum Fehler führen würde. Ein vorhandener Text in der Zelle wird unverändert übernommen. Ist die Zelle also leer, wird von der Fml die benannte Konstante Dummy, sonst der angegebene Name verwendet.
Allerdings könnte die Systembelastung auch an INDIREKT liegen, denn SUMMENPRODUKT „ist“ auch eine, wenn auch interne, Matrixfml.
Gruß Luc :-?
Anzeige
AW: Prinzipiell: Ja, das geht! INDIREKT(TEXT(...))
19.01.2011 18:35:25
Heinz
Hallo Luc,
das sieht schon mal vielversprechend aus.
Eine direkte Übertragung hat aber leider nicht geklappt.
Aber kannst Du die Funktion =TEXT(C1;";;""Dummy"";@")
an Deinem Beispiel kurz erklären?
Fehlt da ggf. ein ";" und was macht das @ da drin?
MFG
Manfred Frisch
erklären
Anzeige
Das klappt definitiv, wenn es sich bei...
19.01.2011 19:27:25
Luc:-?
…den Einträgen in Zeile1 wirklich um Namen handelt, Heinz Manfred!
Im Übrigen bin ich der Meinung, das hätte ich bereits erklärt, und es fehlt nichts! Als xlGuter solltest du schon mal etwas von benutzerdefinierter Formatierung gehört haben — genau das macht hier TEXT, nur ist das Ergebnis eben immer Text. Das gleiche Format kannst du übrigens auch auf eine Zelle anwenden (doppelte "" durch einfache " ersetzen!). Dann trage in diese mal Verschiedenes ein. Dann wirst du ja sehen, was passiert (nur Leer wird dann nicht als 0 interpretiert, das geschieht nur in manchen Fktt, so auch in TEXT). Wenn du das @ weglässt… → na du wirst schon sehen… ;->>
Ein Zell-Zahlen-Text-Format setzt sich aus 4 Teilen zusammen — Standardinterpretation:
PositivZahlFmt;NegativZahlFmt;NullFmt;TextFmt
@ ist der Platzhalter für letzteren. @@ verdoppelt ihn usw.
Es gibt auch eine Xl-Hilfe! Darin wird auch das Format erklärt!
Aber evtl fehlt ja was bei dir — nämlich der Name Dummy mit Bezug =1 ?!
Luc :-?
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Summenprodukt und leere Zellen ignorieren


Schritt-für-Schritt-Anleitung

Um das SUMMENPRODUKT in Excel so zu gestalten, dass es leere Zellen ignoriert und nur Zellen berücksichtigt, die nicht leer sind, kannst du die folgende Formel verwenden:

=SUMMENPRODUKT((A2:A100<>"")*(B2:B100<>"")*(C2:C100<>"")*(A2:A100)*(B2:B100)*(C2:C100))

In diesem Beispiel werden die Werte in den Zellen A2 bis C100 summiert, wobei nur die Zellen berücksichtigt werden, die nicht leer sind.

Falls du eine bestimmte Bedingung hinzufügen möchtest, kannst du folgendes Beispiel verwenden:

=SUMMEWENN(C2:C100; "<>"""; A2:A100)

Diese Formel summiert die Werte in der Spalte A, wenn die entsprechenden Zellen in der Spalte C nicht leer sind.


Häufige Fehler und Lösungen

Ein häufiger Fehler bei der Verwendung von SUMMENPRODUKT ist, dass leere Zellen nicht korrekt ignoriert werden. Achte darauf, dass du die Bedingungen in der Formel korrekt angibst. Zum Beispiel kann eine falsche Syntax wie =SUMMENPRODUKT((A2:A100)*(B2:B100)*(C2:C100)) dazu führen, dass leere Zellen das Ergebnis beeinflussen.

Lösung: Stelle sicher, dass du die Bedingungen zur Überprüfung auf leere Zellen wie oben beschrieben anwendest.


Alternative Methoden

Wenn du eine andere Methode zur Berechnung von Summen unter Berücksichtigung nicht leerer Zellen verwenden möchtest, kannst du auch SUMMEWENN oder SUMMEWENNS verwenden:

=SUMMEWENNS(A2:A100; C2:C100; "<>")

Diese Formel summiert die Werte in A2 bis A100, wenn die Zellen in C2 bis C100 nicht leer sind.

Eine weitere Möglichkeit wäre, eine benutzerdefinierte Funktion zu erstellen, die die Zellen nach deinen Kriterien filtert.


Praktische Beispiele

Hier sind einige praktische Beispiele, die du in Excel verwenden kannst:

  1. Summe, wenn Zelle nicht leer:

    =SUMMEWENN(B2:B100; "<>"; A2:A100)

    Diese Formel summiert die Werte in A2:A100 nur, wenn die entsprechenden Zellen in B2:B100 nicht leer sind.

  2. Summenprodukt mit Bedingung:

    =SUMMENPRODUKT((A2:A100<>"")*(B2:B100=1)*(C2:C100))

    Hier summierst du die Werte in C, wenn die Zellen in A nicht leer sind und die Zellen in B gleich 1 sind.


Tipps für Profis

  • Verwende den Namensmanager: Um die Lesbarkeit deiner Formeln zu verbessern, kannst du Bereiche mit dem Namensmanager benennen. So wird deine Formel klarer und einfacher zu verstehen.

  • Matrixformeln: Wenn du komplexere Berechnungen durchführen musst, kann das Arbeiten mit Matrixformeln in Excel hilfreich sein. Achte jedoch darauf, dass sie die Leistung beeinträchtigen können.

  • Fehlerüberprüfung: Nutze die Fehlerüberprüfungsfunktion von Excel, um sicherzustellen, dass deine Formeln korrekt sind und leere Zellen wie gewünscht behandelt werden.


FAQ: Häufige Fragen

1. Wie kann ich leere Zellen in einer SUMMENPRODUKT-Formel ignorieren?
Verwende Bedingungen in der Formel, die leere Zellen ausschließen, zum Beispiel A2:A100<>"".

2. Kann ich eine Formel schreiben, die nur summiert, wenn mehrere Zellen nicht leer sind?
Ja, du kannst SUMMENPRODUKT verwenden mit Bedingungen für jede relevante Zelle, z.B. =SUMMENPRODUKT((A2:A100<>"")*(B2:B100<>"")*(C2:C100)).

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