Clever-Excel-Forum

Normale Version: Nächstkleineres Datum mit zusätzlichen Bedingungen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
[attachment=47040]
[attachment=47041]

Hallo,

leider bekomme ich es mit meiner Matrixformel nicht hin, dass in Spalte F der angehängten Datei der richtige Wert angezeigt wird.

Im Endeffekt muss in Spalte F derjenige Wert aus Spalte E (Wert) angezeigt werden, der sich aus Objekt, Id und Art sowie dem nächstkleineren Datum ergibt.
Zum besseren Verständnis welchen Wert ich in Spalte F (Ist-Wert) erwarte, habe ich eine zusätzliche Spalte G (Soll-Wert) hinzugefügt.

D. h. der gesuchte Wert befindet sich in derjenigen Zeile in Spalte E, wenn die folgenden vier Kriterien erfüllt sind:
1. Objekt,
2. Id und
3. Art müssen übereinstimmen und
4. das bis-Datum (Spalte D) muss das nächstkleinere Datum sein.

Weiß evtl. jemand Rat wie das zu lösen ist?

Grüße
Hi,


Zitat:das bis-Datum (Spalte D) muss das nächstkleinere Datum sein.


was bedeutet das?

Wie wäre es mit Musterlösungen?

Als Idee:

Code:
=INDEX(Tabelle18[Wert];VERGLEICH(AGGREGAT(14;6;Tabelle18[bis]/(Tabelle18[Objekt]=Tabelle18[@Objekt])/(Tabelle18[Id]=Tabelle18[@Id])/(Tabelle18[Art]=Tabelle18[@Art]);1);Tabelle18[bis];0))
Hallo F...,

eigentlich sind es zwei Schritte die durchgeführt werden müssen:
1. Ich suche das grösste Bis-Datum mit gleichen Kennungen kleiner als das aktuelle Datum.
2. Ich suche den Wert zu diesem Bis-Datum mit gleichen Kennungen.

Wenn man es in deiner Excelversion in einer Formel haben möchte, kann man dies mit einem Trick zusammenfassen, da die Bis-Werte ganze Zahlen sind.

Code:
=WENNFEHLER(INDEX([Wert];RUNDEN(REST(AGGREGAT(14;6;([bis]+(ZEILE([bis])-ZEILE(Tabelle18[#Kopfzeilen]))/1000)/([bis]<[@bis])/([Art]=[@Art])/([Id]=[@Id])/([Objekt]=[@Objekt]);1);1)*1000;0));0)

Ich addiere also zum BisDatum eine Zahl kleiner als 1 (Zeile/1000). Das ändert nichts an der Reihenfolge der Bis.
Wenn ich jetzt das Grösste aussuche, habe ich in der Nachkommazahl die Tabellenzeile und kann mit der Funktion Index direkt den Wert ermitteln.
Hallo Ego,

vielen lieben Dank. Mit deiner Formel hat alles super geklappt.
Danke auch für die Erläuterung dazu. Ohne hätte ich um Grunde genommen keine Ahnung gehabt was da alles passiert.

Viele Grüße