Clever-Excel-Forum

Normale Version: Nächstgelegene Zahl mit Bedingung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Ihr!

Ich hoffe dieses Thema gabs noch nicht, ich habe es jedenfalls nicht gefunden. Ich stehe vor folgendem Problem:

Ich möchte von einem Artikel eine Menge eingeben. Anschließend soll er mir die Menge aus einer Liste geben, die am nächsten an der Eingabemenge dran ist und dem Artikel zugehörig ist. Anbei eine Beispielversion:

Mit folgender Formel für die Referenzmenge bekomme ich den Wert aus der Mengenliste, der am nächsten an meiner Eingabe dran ist, jedoch bekomme ich die Bedingung "Artikel" nicht mit eingebunden.

Ich hoffe ihr könnt mir helfen Smile 

Code:
=MIN(WENN(ABS($H$3:$H$11-C3)=MIN(ABS($H$3:$H$11-C3));$H$3:$H$11))

[attachment=37167]
Hallo M...,

Man könnte die Differenzen sehr stark vergrössern, wenn der Artikel nicht übereinstimmt.
Durch die Division wird verhindert, dass ein (falscher) Wert angezeigt wird, wenn der Artikel nicht vorhanden ist.

=MIN(WENN(ABS($H$3:$H$11+9^9*($G$3:$G$11<>B3)-C3)=MIN(ABS($H$3:$H$11+9^9*($G$3:$G$11<>B3)-C3));$H$3:$H$11/($G$3:$G$11=B3)))
Hallo,

es könnte ja vorkommen, dass die kleinste Differenz auf mehrfache Positionen der Liste zutrifft.
(z.B. bei Artikel 1 mit gewünschter Menge 120. Dann haben 150 und 90 jeweils die Differenz von 30)

=VERWEIS(9;1/(ABS(($H$3:$H$11-$C3)/($G$3:$G$11=$B3))=AGGREGAT(15;6;ABS(($H$3:$H$11-$C3)/($G$3:$G$11=$B3));1));$H$3:$H$11)
liefert den letzten Wert aus Liste, mit der kleinsten Differenz

=INDEX($H:$H;AGGREGAT(15;6;ZEILE($H$3:$H$11)/(ABS(($H$3:$H$11-$C3)/($G$3:$G$11=$B3))=AGGREGAT(15;6;ABS(($H$3:$H$11-$C3)/($G$3:$G$11=$B3));1));1))
liefert den ersten Wert aus Liste, mit der kleinsten Differenz


Viele Grüße
Georg
Hallo Georg,

was hilft mir der erste oder letzte Wert, wenn beide gleich sein können. Mit derMIN-Funktion habe ich entschieden, dass ich bei gleichen Abständen den kleineren Wert nehme. Wenn ich den größeren Wert haben will, nehme ich die MAX-Funktion.
´Vielen Dank für eure Antworten.

@Ego Super Lösung vielen Dank!!