Frage von AnnegretSandra, 40

Excel-Tabelle aktualisieren nach ganz bestimmten Kriterien?

Ich habe eine Excel-Tabelle, in welche ich die Einkäufe mit Preisen einschreibe. Diese ist inzwischen ca. 800 Zeilen lang. Nun möchte mein Chef eine Liste haben, in welcher nur die aktuellsten Preise für ihn ersichtlich sind. Manuell bin ich jetzt so vorgegangen, dass ich die Liste in ein neues Tabellenblatt kopiert habe und alle älteren Zeilen rausgelöscht habe. (ich will ja die Ursprungsliste trotzdem weiterbehalten.) Die Tabelle ist in etwa so aufgebaut, dass ich in einer Spalte die Stahlstärke stehen habe, in einer weiteren Spalte die Stahlgüte. Also z.B. 10 mm Stahl in Güte St52 - 10 mm Stahl in Güte St37 - 10 mm Stahl in Güte HX. Die neue Liste umfasst jetzt etwa 80 Zeilen. Gibt es irgendeine Option, dass sich das zweite, neue Tabellenblatt selbst aktualisiert, wenn ich einen neuen Einkauf in Stärke 10 mm Güte St52 getätigt habe und dies in die Ursprungsdatei einschreibe oder muss ich das weiterhin manuell erledigen. Das wäre sehr aufwändig.

Ich freue mich über jeden Tipp und Ratschlag.

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Funfroc, 23

Hallo,

im Endeffekt brauchst du einen Sverweis. Problem des Sverweises, er gibt immer den ersten gefundenen Wert zurück. Also müssen wir ihn rückwärts suchen lassen.

Dazu sollte dir das hier helfen: http://www.excelformeln.de/formeln.html?welcher=26

LG, Chris

Expertenantwort
von Suboptimierer, Community-Experte für Excel, 24

Kannst du das Problem nicht über einen Autofilter lösen? Das erscheint mir am einfachsten.

Start → Bearbeiten → Sortieren und Filtern → Filtern...

Kommentar von AnnegretSandra ,

Das habe ich schon versucht, funktioniert aber nicht. Ich bekomme nicht die Ergebnisse, die ich möchte. Trotzdem vielen Dank.

Kommentar von Suboptimierer ,

War auch nur eine Idee. Andersherum wäre es ärgerlicher gewesen, nämlich wenn es so machbar gewesen wäre und du es nicht probiert hättest.

Antwort
von Deepdiver, 13

du kannst doch das neue Tabellenblatt einfach mit der Zeile im alten verknüpfen.

müsste sogar mit einem = gehen.

gehe dazu in das neue Tabellenblatt und stze in die Spalte ein = dann gehst du auf das alte und klickst die jeweilige Zelle an.

Kommentar von AnnegretSandra ,

Das war auch mein Gedanke, aber dann habe ich ja eben wieder "alles" im neuen Tabellenblatt stehen. Ich bin ein bisschen am verzweifeln.

Kommentar von Deepdiver ,

Nein, wenn du nur den Preis haben willst, brauchst du doch auch nur diese Zelle nehmen. Die anderen sind uninteressant.

Expertenantwort
von Iamiam, Community-Experte für Excel, 8

die aktuellsten Preise

dazu gehört ja wohl ein Datum und ein Ort (eine Spalte vermutlich) wo es steht.

Ebenso die anderen wichtigen Kriterien. Mit der Info "in einer Spalte" kann man keine Excel-Formel bauen.

Also: Spalte für das  Datum

Spalte für Kriterium 1, zB 10mmStahl, Kriterium 2 Güte HX (oder steht das in 1 Zelle? und ist das eine vollständige Beschreibung? oder gibts da noch was, was den Preis zu unterscheiden erfordert (zB rau/poliert oder entgratet oder geölt/lackiert/eloxiert(bei Alu), Gebindegröße, Vertragsart... was eben so alles unterschiedlich bezahlte Qualitäten ausmacht. Nebeninfo: Spalte Hersteller, Menge, Zuverlässigkeit oder sonst. Ratinggrößen, die lassen sich alle nach demselben Schema auslesen, wenn man erst mal formuliert hat, wie man es ansteuert. Liegt der Preis als Zahl vor oder als Label, und in welcher Formulierung? (Text €/100kg oder k€ oder Zahl mit/ohne Zellformatierung?)

Alles kein größeres Problem, wenn man weiß, wie und wo es in xl steht!

Annahme Spalte A= Artikel, SpalteD=Datum, Spalte E = Einkaufspreis als Zahl:

in Zeile 1 jeweils die gesuchten Begriffe, dann

Letztes Datum L (=höchste Datumszahl): {=Max((A2:A999=A1)*(D2:D999))}

vorletztes Datum: V : {=KGrösste(A2:A999=A1)*(D2:D999))}   *)

zugehöriger Einkaufspreis: =index(E:E;Vergleich(L;D:D;0))

*) Formeln in {geshweiften Klammern} sind Matrixformeln! Die geschweiften {Klammern} NICHT miteingeben, sondern die Formel anstatt mit einfachem Enter mit der Kombination (gleichzeitig) Strg+Shift+Enter abschließen (nach jeder Neubearbeitung wieder!!!). Die {Klammern} entstehen dann automatisch.
Schreibtechnisch nimmst Du am besten die rechte Strg- und Umschalttaste, dann gehts mit einer Hand und lässt sich auch leichter merken!

- - - Noch ein Tipp: Wenn Du in der Bearbeitungszeile einen selbständigen Formelteil markierst und F9 drückst, erhältst Du ein(e) Ergebnis{liste}. Allerdings dann die Zelle mit Esc verlassen (oder rückgängig machen), Enter würde das gezeigte Ergebnis festschreiben! Vorläufig kurze Bereiche festlegen! (also nicht A2:A999, sondern nur zB A$2:A$22 , später erweitern, aber Strg+Shift+Enter nicht vergessen!

Ich warte aber auf nähere Angaben, da die Tabellen oft doch ganz anders aufgebaut sind, als ich vermute oder es für sinnvoll halte

Kommentar von Iamiam ,

Danke fürs Kompliment und nur, damit nichts Falsches stehen bleibt:

in der Formel für das Vorletzte Datum fehlt vor der letzten Klammer ;2) fürs drittletzte gehörte ein ;3, also

vorletztes Datum: V : {=KGrösste(A2:A999=A1)*(D2:D999);2)}   *)

Die liefert aber auch die Info, die sich auf den Artikel in Spalte A, angefragt in A1, bezieht.

Auf die Angaben im Kompliment bin ich jetzt nicht mehr eingegangen.

Kommentar von Iamiam ,

jetzt hab ich mir in einer Mußestunde (kommt selten, aber gelegentlich doch mal vor) mal Deine Daten übertragen. (bezieht sich auf zufällig bei mir auf Zeile 45.

Erst mal mußt Du das Datum -sofern es nicht per Format nur Monat und Jahr ist- zu einem echten (ggf fiktiven) Datum umwandeln. Angenommen, da steht 09-2013, dann

in N43: =("01."&LINKS(A43;2)&"."&RECHTS(A43;4))*1

Das *1 macht aus dem zusammegestückelten Text eine Zahl (sofern xl das erkennen kann, was bei den meisten Datumsformulierungen der Fall ist). Diese Zahl muss als Datum formatiert werden=> 01.09.2013

Die Formel kopierst Du über die gesamte Spalte (nach unten: einfach Doppelklick aufs Ausfüllkästchen!). Diese Hilfsspalte ist notwendig! Sie darf keinen Texteintrag enthalten, also auch keine Überschrift (bei Bedarf ein Textfeld verwenden, das stört nicht!)

Ich gehe mal davon aus, dass das Einzelgewicht(H:H) und die Güte(B:B) als Kriterien ausreichen, Du kannst aber beliebig weitere Kriterien dazusetzen nach demselben Schema:Trage in P1 diese zugrundeliegende Güte (s355) und in P2 das Einzelgewicht als Kriterien ein (ggf weitere Kriterien darunter)

in P43: {=MAX((N:N)*(H:H=$P$18)*(B:B=$P$17))}

( wieder Matrixformel, also ohne {} und mit Strg+shift+Enter)

Das ist das Datum des letzten Einkaufs dieser Güte für dieses Einzelgewicht, das Du wolltest. Diese Formel kannst Du beliebig verschieben, zB fürs folgende Beispiel nach P3.:

Du kannst darauf basierend gleich den zugehürigen (zB. Einzel-)Preis auslesen

{=INDEX(L:L;VERGLEICH(P$3&P$1&P$2;$N:$N&$B:$B&$H:$H;0))}

{wieder Matrixformel!}

Noch eine prinzipielle Bemerkung: Willst Du zB nach zweierlei Güten suchen, feht das auch: Das * ist eine logische Und-Verknüpfung, das Oder wäre ein +, (aber die Argumente in zusätzliche Klammern setzen):

Das Datum für EinzG 900 und Güte s355 oder V2A wäre in folgender Formel abfragbar:
{=MAX((N:N)*(H:H=$P$2)*((B:B="V2A")+(B:B="s355")))}

Das Auslesen per Index ist dann allerdings nicht mehr so einfach, krieg ich im Moment selbst nicht hin.

Kommentar von Iamiam ,

...aber Du kannst nach diesem Datum in N:N filtern.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten