PDA

View Full Version : Excel Sortierung und Gruppierung



DieSchatten
24-02-06, 13:34
Super Forum habt ihr hier, deswegen nerv ich nun auch mal mit einer Frage:


Ich will eine Tabelle nach bestimmten Kriterien sortiert haben.
Also es handelt sich um eine Tabelle, in der eine Artikelnummer (ARTNR) stehen, eine Artikelbezeichung(ARTBEZ2) (bzw. Artikel-Gruppe) und ein Ablaufdatum(ABLDAT).
Jeder Artikel hat in dieser Liste halt eine Artikelnummer und gehört zu einer Artikelgruppe. Außerdem hat dieser Artikel dann ein Ablaufdatum.

Diese Tabelle soll nun so sortiert sein, dass an oberster Position die Artikel-Gruppe mit dem nächsten/niedrigsten Ablaufdatum überhaut steht mit allen Artikeln die unter dieser Gruppe zusammengefasst sind wiederum sortiert nach Ablaufdatum (nächstes/jüngstes zuerst).
Danach soll dann die Gruppe mit dem nächsten niedrigsten Ablaufdatum überhaupt angezeigt werden und so weiter.



ARTNR ARTBEZ2 ABLDAT
13 Form.Grp. 13 11.03.2006
09 Form.Grp. 15 14.03.2006
71 Form.Grp. 15 12.03.2006
63 Form.Grp. 13 13.03.2006

soll zum Beispiel sortiert werden in


ARTNR ARTBEZ2 ABLDAT
13 Form.Grp. 13 11.03.2006
63 Form.Grp. 13 13.03.2006
71 Form.Grp. 15 12.03.2006
09 Form.Grp. 15 14.03.2006



Hab da schon geschaut und MS Query in Excel gefunden, jedoch kenn ich mich nicht allzugut mit SQL aus, so dass ich da so eine verschachtelte Sortierung hervorbringen könnte.

Würd ja noch nen Screenshot anfügen, aber leider kann man hier keine Dateien anfügen. Wenns noch nicht so ganz klar ist, worau ich hinauswill, lad ich die gerne noch irgendwo hoch und stell sie hierrein.

Hoffe es kann mir jemand helfen

JonnyRico
27-02-06, 10:10
Moin,

also dein Problem lässt sich auf mehrere Weisen lösen. Wenn du dich mit SQL nicht auskennst, würde ich die am besten Access empfehlen. Da kannst du dann auch deine "Abfrage" die du erstellen musst direkt nach Excel exportieren.

Als erstes musst du die Gruppen behandeln. Du erstellst eine Abfrage in der du deine Artikeltabelle einbindest und nur die Felder Gruppe und Ablaufdatum wähst. Du gruppierst nach Gruppe und benutzt die Funktion MAX auf das Feld Ablaufdatum.

Jetzt erstellst du eine zweite Abfrage. Hier verknüpfst du die Arikeltabelle über dein Feld "Gruppe". Jetzt sortierst du zuerst nach dem Feld Ablaufdatum aus der Abfrage 1 und dann nach dem Ablaufdatum aus der Artikeltabelle und dann sollte es passen. Im Anschluss Abfrage speichern und nach Excel exportieren.

Gruß

Sascha

Fuerchau
27-02-06, 12:14
MS-Query kann dies auch.
Du musst nur die entsprechenden Ansichten für Gruppierung und Sortierung öffnen.

DieSchatten
02-03-06, 15:19
Wie kann ich denn die Ansichten öffnen? Hab mit MS Query noch nicht gearbeitet.

JonnyRico: Sollte ich nicht MIN statt MAX nutzen? ich will ja das nächste kommende Datum haben (wie bei nem Mindesthaltbarkeitsdatum)

JonnyRico
02-03-06, 15:26
JonnyRico: Sollte ich nicht MIN statt MAX nutzen? ich will ja das nächste kommende Datum haben (wie bei nem Mindesthaltbarkeitsdatum)

Ja richtig, wenn du das kleinste Datum haben willst dann ist die richtie Funktion MIN.

DieSchatten
03-03-06, 09:52
Hat so weit geklappt, nur das Ganze sollte nun automatisiert ablaufen (beim Öffnen der Excel), wie das geht ist klar, nur da ich nun 2 getrennte Abfragen habe (mit MS Query) kann die zweite nicht aufgerufen werden, da sie Daten aus der 1. Abfrage braucht.
Hab schon versucht die zweite einfach in die 1. zu packen, aber 2 SELECT ... FROM ... ; hinternander macht MS net mit.
Wie kann ich diese Abfragen entweder hintereinander laufen lassen oder Zeitversetzt oder sowas, so dass ich nen Ergenbnis bekomme?

Fuerchau
03-03-06, 11:06
Mit einem Makro.
Lass das automatische Aktualisieren, Starte Makroaufzeichnung, aktualisiere die Abfragen, beende die Makroaufzeichnung.
Gehe in den VB-Editor und führe das Makro im Ereignis "Workbook_Open" deiner Arbeitsmappe aus.

DieSchatten
06-03-06, 08:29
Ach herrje, wo finde ich denn dieses Workbook_Open Ereignis, mit dem VB-Editor kenne ich mich ja noch weniger aus...
wäre nett wenn du das genauer beschreiben könntest, was ich machen muss.

DieSchatten
08-03-06, 12:20
So hab nun alles geschafft, Sortierung läuft, auch automatisch.

Aber: Das ganze hab ich in einer Excel-Vorlage gemacht. Wenn ich die öffne, läufts prima. Wenn ich aber sage "Neu" dann hat er zwar die Abfragen drin und alles, jedoch gehen die Bezüge der Abfragen auf die Excel-Vorlage.
Kann man des irgendwie einstellen, dass auch die Abfragen instanziert werden und bei der Neuerstellung eines Excel-Sheets aus der Vorlage auch die Bezüge auf dieses neue Dokument gesetzt werden?