Clever-Excel-Forum

Normale Version: Verschachtelte WENN-Funktion
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Morgen Gemeinde,

es ist schon länger her, dass ich (derartige) Funktionen in Excel verwendet habe.

Die Umsetzung meiner Vorstellung fiel mir hierbei nicht so leicht, wie ich es mir erhofft habe, bzw. wie ich dies in z. B. PHP umgesetzt hätte.

Ausschnitt meiner Tabelle:
[attachment=18256]

Die Funktion soll wie folgt sein:

WENN ein Material (B) IDENTISCH einem vorherigen Material (B) ist,
dann soll in dieser Zeile der Restbestand (J) mit dem "alten" Restbestand (J) SUMMiErt werden,
ansonsten einfach die übliche SUMME aus Eingang (E), abzüglich SUMME vom Ausgang (F:I).

Mein erster "Versuch" war
=WENN(E7<>"";WENN(IDENTISCH(B7;B7:B300);E7-(SUMME(F7:I7))+E12;E7-(SUMME(F7:I7)));"")

Sprich quasi erstmal wird geschaut, ob überhaupt ein Eingangsbestand angegeben wird,
danach wird geprüft ob es den Wert schon in der Spalte gibt, falls ja, wird er mit dem alten Wert verglichen - nur welcher ist denn der "alte" Wert? Das ganze soll natürlich nach unten "erweitert" werden können, ohne dass ich die Funktion in jeder Zeile neu schreiben muss.

Wie bereits erwähnt, wäre das ganze für mich in PHP leichter Umsetzbar als in Excel, da ich in PHP alles durch Schleifen laufen lassen kann und Variablen (temporär) abspeichern kann.

Wäre dankbar um jeden Tipp.

Viele Grüße,
Topschii
Bitte Beispieldatei anfertigen!
Hallo Frogger1986,
hier mal eine Beispieldatei:

[attachment=18258]
Hallo,

ich bin mir nicht sicher ob ich dein Vorhaben richtig verstanden habe, aber als Idee:

Ich würde in Spalte K folgende Formel verwenden (und Spalte J ausblenden):

=SUMMEWENN(B$7:B7;B7;J$7:J7)
Moin!
Das Problem ist der Aufbau Deiner Datei.
Es handelt sich nämlich um eine Kreuztabelle, die sinnvollerweise zunächst mal entpivotiert werden muss.
Sicherlich mag es per Formel möglich sein, besser ist aber folgender Aufbau:
Kopiere Deine Materialien in eine freie Spalte und wende dort Daten, Duplikate entfernen an.
Wenn Du die E/As als einzelne Datensätze anlegst, kannst Du jetzt simpel mit SUMMEWENN() arbeiten.
Als Alternative bietet sich auch ein Pivot-Table an.
Hier mal nur für die ersten sieben Buchungen:
ABCDEFGH
1DatumMaterialE/AAbteilungMaterialBestand
210.06.2018Papier20EingangPAPIER5
310.06.2018Papier-2EGTACKER7
410.06.2018Papier-32. StockNOTIZZETTEL
510.06.2018Papier-103. StockKLAMMER
610.06.2018Tacker10EingangTESA
710.06.2018Tacker-33. StockKUGELSCHREIBER
810.06.2018Notizzettel50EingangSPITZER
910.06.2018SCHERE

ZelleFormel
H2=SUMMEWENN(B:B;G2;C:C)
H3=SUMMEWENN(B:B;G3;C:C)

Gruß Ralf
Und um dann daraus wieder eine Kreuztabelle wie Deine Vorlage zu machen:
Pivot-Table,
Material und Datum in Zeilen,
E/A in Werte,
Abteilung in Spalten

Ergibt folgenden Screenshot:
[attachment=18259]
Hallo Ralf,

die Pivot-Tabelle würde ich in 99% aller Fälle immer im Tabellen-Layout einstellen.
Da muss ich mich auch mal bedanken!
Gerade ausprobiert (habe ich tatsächlich noch nie verwendet).
Passt!  Thumps_up

Gruß Ralf
Und damit man das nicht jedes mal neu einstellen muss gibt es seit kurzem die PivotTable-Standardlayoutoptionen.
Hallo,

jepp, das Standardlayout habe ich auch vor einiger Zeit umgestellt weil ich ebenfalls die klassische Variante bevorzuge.
Seiten: 1 2