Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Verbrauchsberechnung in bestimmtem Zeitraum





Frage

Hallo zusammen, hab ein Problem mit dem Berechnen eines Produktes X im Zeitraum von z.B. 11.2005 - 01.2006 in Excel Hier ein Beispiel: Datum ist in Zelle A9 und Produkt in Zelle C9 Datum: Produkt: 27.01.2006 NFR016D2 24.01.2006 AZnLOF2070 18.01.2006 AZ4562 12.01.2006 AZnLOF2070 02.01.2006 NFR016D2 02.01.2006 AZ4562 16.12.2005 AZ4562 15.12.2006 AZnLOF2070 10.12.2005 AZ1518 03.12.2005 AZnLOF2070 03.12.2005 AZ4562 28.11.2005 AZ1505 23.11.2005 AZ4562 21.11.2005 AZnLOF2070 12.11.2005 NFR016D2 09.11.2005 AZnLOF2070 09.11.2005 AZ4562 27.10.2005 AZnLOF2070 26.10.2005 AZ4562 21.10.2005 AZ1518 12.10.2005 AZnLOF2070 11.10.2005 AZ4562 jetzt soll in Zelle A1 angezeigt werden wieviel vom Produkt AZ1518 im Zeitraum 11.2005 - 01.2006 verbraucht worden ist. Dabei soll in Zelle E2 der Monat z.B 11, in Zelle E3 das Jahr z.B. 2005, in Zelle E4 der Monat z.B.01, in Zelle E5 das Jahr z.B 2006 eingegeben werden können und diese Eingaben sollen Benutzerdefiniert sein. Was noch zu beachten ist das die Daten nicht in der gleichen Zeile bleiben. Es kommen immer wieder neue Daten dazu und die Alten rutschen um eine Zeile nach unten. Also wähle ich Spalte A:A und Spalte C:C aus. Ich hoffe das ist Information genug und bedanke mich für jede Hilfe

Antwort 1 von rainberg

Hallo Chehab,

folgende Formel arbeitet voll dynamisch, egal wie viele Zeilen deine Liste hat.

=SUMMENPRODUKT((BEREICH.VERSCHIEBEN($A$9;;;ANZAHL($A$9:$A$65536);)>=E$1)*(BEREICH.VERSCHIEBEN($A$9;;;ANZAHL($A$9:$A$65536);)<=E$2)*(BEREICH.VERSCHIEBEN($A$9;;2;ANZAHL($A$9:$A$65536);)=E$3))


Bedingungen:
E1 enthält das Startdatum der Auswertung "TT.MM.JJ"
E2 enthält das Enddatum der Auswertung "TT.MM.JJ"
E3 enthält den Suchwert aus Spalte C
Die Liste beginnt in Zeile 9

Gruß
Rainer

Antwort 2 von rainberg

Hallo Chehab,

Nachtrag:

Du könntest natürlich auch für beide Spaltenbereiche Bereichsnamen definieren, z. B. "Datum" und "Produkt".
Die Definition funktioniert mit den in der Formel verwendeten Teilfunktionen.
Damit würde deine Formel übersichtlicher und sieht dann so aus

=SUMMENPRODUKT((Datum>=E$1)*(Datum<=E$2)*(Produkt=E$3))


Gruß
Rainer

Antwort 3 von Chehab

Hallo Rainer,

erstmal vielen Dank für die gute und schnelle Antwort. Die erste Formel hat super geklappt. Eines hätte ich noch. Es soll der Mittelwert der Produkte (erste Formel) aus den Monaten errechnet werden.

Z.B. 01.09.2005 - 31.12.2005 sind 4 Produkte in 4 Monaten der Sorte X "also 1 Produkt im Monat"
Danke nochmal.

Gruß Chehab

Antwort 4 von rainberg

Hallo Chehab,

da fällt mir spontan das ein

=SUMMENPRODUKT((BEREICH.VERSCHIEBEN($A$9;;;ANZAHL($A$9:$A$65536);)>=E$1)*(BEREICH.VERSCHIEBEN($A$9;;;ANZAHL($A$9:$A$65536);)<=E$2)*(BEREICH.VERSCHIEBEN($A$9;;2;ANZAHL($A$9:$A$65536);)=E$3))/(($E$2-$E$1)/30,25)


Teste mal selbst.
Es gelten die gleichen Bedingungen wie bei der ersten Formel.

Gruß
Rainer

Antwort 5 von Chehab

Hallo Rainer,

danke nochmal für die schnelle Antwort. Mich hätte jetzt nochmal die kurze Formel =SUMMENPRODUKT((Datum>=E$1)*(Datum<=E$2)*(Produkt=E$3))
interessiert, die aber bei mir nicht funktioniert. Vieleicht kannst du mir nochmal dabei helfen. Danke

Gruß
Chehab

Antwort 6 von rainberg

Hallo Chebab,

die kurze Formel funktioniert nur, wenn du für beide Spalten über Menü > Einfügen > Namen > Definieren einen Bereichsnamen definierst.
Ich habe für die Datumsspalte den Namen "Datum" und für die Produktspalte den Namen "Produkt" verwendet.

Dies Namensbereiche kannst du sowohl statisch, unter Eingabe eines absoluten Bereiches wie

Bezieht sich auf:
=Tabelle1!$A$9:$A$1000


als auch dynamisch, unter Eingabe eines veränderlichen Bereiches wie

Bezieht sich auf:
=BEREICH.VERSCHIEBEN(Tabelle1!$A$9;;;ANZAHL(Tabelle1!$A$9:$A$65536);)


gestalten.
Beides könntest du für den Namen "Datum" verwenden.
Für den Namen "Produkt" kämen den Folgende Möglichkeiten infrage:

Bezieht sich auf:
=Tabelle1!$C$9:$C$1000


oder

Bezieht sich auf:
=BEREICH.VERSCHIEBEN(Tabelle1!$A$9;;2;ANZAHL(Tabelle1!$A$9:$A$65536);)



Gruß
Rainer

Antwort 7 von Chehab

Hallo Rainer,

ich hab den Bereichsnamen definiert. Die Formel funktioniert nur wenn ich z.B. den Bereich $A8:$A65536 für den Bereichsnamen definiere. Hab ihn zuerst mit $A:$A definiert was nicht funktioniert. Danke nochmal

Gruß
Chehab

Antwort 8 von rainberg

Hallo Chehab,

SUMMENPRODUKT() ist eine Matrixformel.

In Matrixformeln darf man keine gesamten Spalten/Zeilen referenzieren sondern immer Zeilenindizes oder Spaltenbuchstaben angeben.

Deshalb hatte ich dir ja auch konkrete Vorgaben gemacht.

Gruß
Rainer