Microsoft Excel

Herbers Excel/VBA-Archiv

formel vereinfachen

Betrifft: formel vereinfachen von: Bastian Eberl
Geschrieben am: 15.08.2008 09:24:02

guten morgen aus der schönen schweiz :)

ich habe mal wieder (aber ich lerne wirkich dazu, glaubt mir das bitte) ein problem.

ich habe eine formel gebastelt, die zwar funktioniert, die aber gleichzeitig ewig ewig lang ist.
diese würde ich gerne vereinfachen.

ich habe euch dazu eine datei angehängt.
https://www.herber.de/bbs/user/54619.xls

die regel für die formel ist eigentlich sehr einfach:

wenn letzter eingetragener preis (sollte nach dem datum schaun) = ID 5, dann nehme den dazugehörenden preis.

wenn letzter eingetragener preis = ID 4 dann suche in den zeilen darüber nach ID 5 und nehme diesen preis.

wenn letzter eingetragener preis ? ID 4 und darüber kein ID 5 dann nehme preis drei wenn vorhanden sonst preis 2 wenn vorhanden, sonst preis 1.

kann das jemand vereinfachen?

danke und viele grüsse
bastian

  

Betrifft: AW: formel vereinfachen von: David
Geschrieben am: 15.08.2008 09:52:34

die regel für die formel ist eigentlich sehr einfach:

Dann möchte ich mal was schweres von dir hören! ;-)
Na gut, "schwer" im klassischen Sinne ist es nicht, aber reichlich verworren.

Ich hoffe, ich habe dich richtig verstanden:

Es soll doch im Prinzip der Preis der höchsten ID genommen werden, außer der 4, die wohl anscheinend nie verwendet wird.

Dann sollte doch die Formel

{=INDEX(J1:J16;MAX((G2:G16=K30)*(G2:G16<>4)*ZEILE(G2:G16)))}



das gewünschte Ergebnis liefern.

Du hast zwar geschrieben, "sollte nach dem Datum schauen", aber da das bei dir alles aufsteigend sortiert ist, kann man sich das sparen. Wenn du jetzt sagst, das Datum kann auch unsortiert sein, wirds allerdings kompliziert, dann müsste ich nochmal ans "Reißbrett".

Rückmeldung wäre nett.

Gruß

David


  

Betrifft: AW: formel vereinfachen von: Bastian Eberl
Geschrieben am: 15.08.2008 10:10:33

hi daniel,

danke sehr :) hehe ich meinte auch nicht, dass die formel die ich gebastelt habe einfach ist, sondern die aufgabe hinter der formel.

warum geht das manchmal so einfach :D :D

nur die k30 habe ich in 5 geändert :)

viele grüsse
bastian


  

Betrifft: ICH BIN NICHT DANIEL!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! von: David
Geschrieben am: 15.08.2008 10:13:47

Trotzdem danke für die Rückmeldung.

In der Zelle K30 hatte ich den Wert "5" stehen (zum Testen), hatte ich wohl beim Posten vergessen zu ersetzen. Aber das hast du ja richtig erkannt.

Gruß

DAVID


  

Betrifft: AW: ICH BIN NICHT DANIEL!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! von: Bastian Eberl
Geschrieben am: 15.08.2008 10:15:21

sorry DAVID,

ja und eine kleine macke habe ich noch gefunden.

wenn nur noch id 3 2 und 1 da sind wird mir ASP ausgegeben...
woran liegt das?

gruss
bastian


  

Betrifft: Korrektur! von: David
Geschrieben am: 15.08.2008 10:33:05

Ja, das liegt daran, dass die Formel 0 ergibt und der Index somit auf die erste Zeile (=Überschrift) verweist. Ich hab's mir nochmal angeschaut. Den Ausdruck K30 darfst du nicht mit 5 ersetzen. Ich hatte in der Zelle noch eine Formel stehen, die stattdessen mit rein muss. Die gesamte Formel sieht dann so aus:

{=INDEX(J1:J16;MAX((G2:G16=WENN(MAX(G2:G16)=4;MAX((G2:G16<>4)*G2:G16);MAX(G2:G16)))*(G2:G16<>4) *ZEILE(G2:G16))) }

Gruß

David


 

Beiträge aus den Excel-Beispielen zum Thema "formel vereinfachen"