Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Nächstgelegene Zahl mit Bedingung
#1
Photo 
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))

   
Antworten Top
#2
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)))
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





[-] Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:
  • MalteLev
Antworten Top
#3
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
Antworten Top
#4
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.
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#5
´Vielen Dank für eure Antworten.

@Ego Super Lösung vielen Dank!!
Antworten Top


Gehe zu:


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