mreske
Goto Top

Letzer Eintrag eines Suchstrings in Tabelle ermitteln

Hallo zusammen,

ich möchte in der Tabelle "Einkauf.xlsx" über das Einkaufsdatum den letzten Preis ermitteln (per VBA)

Hat vielleicht jemand eine Idee, wie sich das bewerkstelligen lässt?

Hier mal ein Beispiel:

2020-11-24_121545

Danke im Voraus

Content-ID: 625239

Url: https://administrator.de/contentid/625239

Ausgedruckt am: 22.11.2024 um 03:11 Uhr

NordicMike
NordicMike 24.11.2020 um 12:49:34 Uhr
Goto Top
Bedenke auch, dass am letzten Tag auch mehrere Artikel gekauft sein könnten.

Du hast drei Varianten:

1) (Manuell oder per Script) Du sortierst die Einträge nach Spalte B absteigend, somit ist der gesuchte Eintrag immer ganz oben bzw in Zeile 2.

2) (Per Script) Du durchsuchst Spalte B nach dem jüngsten Eintrag und merkst dir die Zeilennummer und liesst die anderen Daten in dieser Zeile aus.

3) (Per Zeilenformel) https://www.extendoffice.com/documents/excel/3333-excel-find-earliest-da ...
146707
Lösung 146707 25.11.2020 aktualisiert um 12:07:50 Uhr
Goto Top
Dafür brauchst du kein VBA, das geht mit Array-Formeln:

Zelle B17
=MAX(WENN(Tabelle1[Artikel]=A17;Tabelle1[Einkaufsdatum]))
Zelle C17
=INDEX(Tabelle1[Einkaufspreis];VERGLEICH(1;(A17=Tabelle1[Artikel])*(B17=Tabelle1[Einkaufsdatum]);0))
Beide mit CTRL+SHIFT+ENTER abgeschlossen. Fertig.

In neueren Excel Versionen ab Excel 2016 kann man sich der Formel MAXIFS bedienen die das noch simpler macht.

Beachte "Tabelle1" und die "Überschriften" musst du an deine Gegebenheiten anpassen. Da du hier eine "echte" Tabelle und keinen Bereich verwendest gilt nicht der Name des Tabs sondern der vergebene Name im Ribbon:
screenshot
mreske
mreske 26.11.2020 um 17:14:15 Uhr
Goto Top
Hallo zusammen,
vielen Dank für die Rückmeldungen.
Das mit den Array-Formeln ist zwar nicht ganz das, was ich wollte, aber zumindest eine Alternative.
Vielen Dank nochmal.
Grüße