Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Buged Excel hier??
#1
Hallo zusammen,

ich habe ein Problem ist Excel welches ich nicht lösen kann, da meiner Meinung nach kein Fehler vorliegt!
Kurz um euch ins Bild zu setzten:

In dieser Excel geht es unteranderem um die Identifizierung von Neukunden. Dabei wird immer ein Halbjahr mit den vorangegangenen 36 Monaten verglichen. Wenn der Kunde in den 36 Monaten noch nicht erschienen ist, gilt er als Neukunde. Dafür hab ich eine Formel geschrieben die wie folgt lautet:

 =WENN(UND

(B3>=Neukunden!$B$2; B3<=Neukunden!$D$2; --> Schaut ob das Datum in der Halbjahresperiode liegt
 
SUMMENPRODUKT((C$2:C3=C3)*(B$2:B3=Neukunden!$A$2)=0;  --> Schaut ob der Kunde in den letzten 36 Monaten vorkam

SUMMENPRODUKT((C$2:C3=C3)*(B$2:B3>=Neukunden!$B$2)*(B$2:B3<=Neukunden!$D$2))=1); 1; "") --> Verhindert eine doppelte Markierung eines Kunden

Es geht jetzt um Zelle G3, hier müsste jetzt eine 1 stehen, weil alle Bedingungen erfüllt sind, ist aber leider nicht der Fall....
Wenn ich das Datum in Zelle B2 auf 19.03.202 abändere, funktioniert es wieder, idk

Also falls hier jemand einen Fehler findet sollte bzw mir erklären kann warum das passiert wäre ich dieser Person für immer zum Dank verpflichtet!!

LG Jens 
.xlsx   Excelfehler.xlsx (Größe: 48,87 KB / Downloads: 11)
Antworten Top
#2
Hola,

Zitat: da meiner Meinung nach kein Fehler vorliegt!

dann würde es ja funktionieren. Tut es aber nicht und das aufgrund von Klammerfehlern. Alle deine Abfragen sind Teil der UND Bedingung und da du auf =1 und =0 abfragst wirst du niemals im Leben eine 1 erhalten.
Warum überhaupt die Abfrage auf =1? Reicht nicht eigentlich folgendes?
Code:
=WENN(UND(B2>=Neukunden!$B$2; B2<=Neukunden!$D$2;SUMMENPRODUKT((C$2:C2=C2)*(B$2:B2<Neukunden!$B$2)*(B$2:B2>=Neukunden!$A$2))=0);1;"")
Gruß,
steve1da
Antworten Top
#3
Zitat:Alle deine Abfragen sind Teil der UND Bedingung und da du auf =1 und =0 abfragst wirst du niemals im Leben eine 1 erhalten.

Die Formel funktioniert grundsätzlich schon :) von knapp 4000 Einträgen war dieser der einzige, der nicht funktionierte.

Zitat:Reicht nicht eigentlich folgendes?
Nein, leider nicht, da so ein Kunde doppelt markiert wird.
Antworten Top
#4
Hast Recht, ist trotzdem ein Klammerfehler drin, und zwar hier:
SUMMENPRODUKT((C$2:C2=C2)*(B$2:B2=Neukunden!$A$2)=0
Die 2. schließende Klammer hinter Neukunden!$B$2 muss hinter Neukunden!$A$2.

Das die Berechnung der Mappe auf manuell steht ist gewollt?
[-] Folgende(r) 1 Nutzer sagt Danke an steve1da für diesen Beitrag:
  • damoi
Antworten Top
#5
Zitat:Klammerfehler drin, und zwar hier:

Jetzt funktioniert es tadellos!! :) vielen Dank 
Und jetzt wo ich den Fehler sehe, kann ich ihn nicht mehr nicht sehen haha

Zitat:Das die Berechnung der Mappe auf manuell steht ist gewollt?

Ich hatte gelesen, dass es bei komplexen Formeln helfen kann, eine manuelle Berechnung durchzuführen.
Oder ist das Quatsch?
Antworten Top
#6
Ich habe mir den Rest der Datei nicht angesehen aber komplexe Formeln sind mir in dem einen Blatt nicht über den Weg gelaufen.
Antworten Top
#7
Hi,

Zitat:aber komplexe Formeln sind mir in dem einen Blatt nicht über den Weg gelaufen

ich denke, wenn die Tabelle einen größeren Umfang einnimmt, dann ist die gezeigte Formel schon komplex genug, um die Berechnung sichtbar zu verlangsamen.
Da es offensichtlich einige unnütze Hilfsspalten gibt (z.B. Berechnung Quartal), könnte man diese Formel evtl. auch aufteilen und vereinfachen, aber dazu sind nicht genügend Beispiele da.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#8
@Edgar: bin nicht her am Rechner aber wenn man die Summenprodukt Berechnungen durch Zählenwenns ersetzt sollte man doch Performance gewinnen, oder?
Antworten Top
#9
Hi Steve1da,

schon richtig, aber es fehlen mir hier zuviel Daten, um da eine funktionierende SUMMEWENNS zu entwickeln.

eigentlich sollte es so funktionieren:

Code:
=(ZÄHLENWENNS(C$2:C2;C2;B$2:B2;"<"&Neukunden!$B$2;B$2:B2;">="&Neukunden!$A$2)=0)*(ZÄHLENWENNS(C$2:C2;C2;B$2:B2;">="&Neukunden!$B$2;B$2:B2;"<="&Neukunden!$D$2)=1)
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#10
Hello,

also ich habe deine Formel gerade auf den großen Datensatz angewandt und sie funktioniert!

Ob das jetzt Performance spart oder nicht kann ich leider nicht beurteilen 
Könntest du mir erklären warum du < in " " gesetzt hast (also "<")?


LG Jens
Antworten Top


Gehe zu:


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