Clever-Excel-Forum

Normale Version: Wanderungsbewegungen in Excel
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,
 
ich habe eine kleine Herausforderung in Excel, die ich alleine nicht gemeistert bekomme. Darum bitte ich euch um eure Hilfe und eure Ideen.
 
Folgendes Problem stellt sich mir:
 
Ich habe eine Kundenliste, aus der ich einen Bericht erstellen möchte, der mir sagt, welche Kunden von einem Betreuer zu einem anderen gewechselt sind. Das problematische dabei ist für mich:
Ich bekomme monatsweise einen Gesamtauszug der Daten, d.h. ich habe jeden Monat eine Liste, die mir sagt, von welchem Betreuer der Kunde am Stichtag betreut wurde. Die Schwierigkeit ist nun, zu ermitteln, welcher Kunde von einem Monat zum nächsten den Betreuer gewechselt hat.
 
Ich habe bereits probiert, mit Matrixformeln eine eindeutige Liste der Kunden zu erstellen, was mein Excel ein wenig überlastet hat. Vermutlich aufgrund der Menge der Daten (ca. 60.000 Zeilen à 60 Spalten). Eine rudimentäre Lösung mit Pivot habe ich bereits zusammengebastelt, aber mit Pivot-Tables tue ich mich immer ein wenig schwer und wirklich praktikabel ist diese Lösung auch nicht.
 
Mein Traum wäre es, wenn ich irgendwie aus den ursprünglichen Daten herausfiltern könnte, welche Kunden den Betreuer gewechselt haben und daraus ein Diagramm ableiten kann, das mir sagt, wie viele Kunden von welchem Betreuer zu welchem gewechselt sind und das Ganze dann mit einigen anderen Kundendaten zu verknüpfen (z.B. welche Gesamtsumme an Aufträgen von einem Betreuer zum anderen gewechselt hat u.ä.).
Da das Ganze langfristig ausgelegt ist, wäre auch eine mit VBA programmierte Lösung denkbar. Ich wüsste aber gerne, ob es vielleicht eine einfachere Lösung gibt, die mir den ganzen Programmieraufwand erspart.

Vielleicht kann mir jemand helfen. Ich bin für jede Idee dankbar.
Vielen Dank schon mal im Voraus.

Liebe Grüße,
Ruby
Hallo Ruby,

kannst du evtl mal so einen Bericht hochladen? Dann kann man sich vielleicht bisschen mehr vorstellen
Hallo,

das Ziel wäre eine Tabelle, bei der in Spalte A eine eindeutige Liste der Kunden, in den Spalten ab B für jeden Monat der Betreuer steht. Also für 3 Jahre wären das 36 Spalten.

Es ist ein einmalig recht großer Rechenaufwand, die monatlichen Updates sollten dann schnell gehen.

Der Code sollte
- alle Monatsdateien ab dem Stichtag durchsuchen
- für jeden Kunden prüfen, ob er bereits in der Auswertung vorhanden ist, falls nicht neu anlegen
- für den jeweiligen Monat den Berater eintragen

Der vba-Code ist vermutlich sehr übersichtlich, aber die Laufzeit.

Was wird für die Programmirung benötigt?
- Eine Beispiel-Tabelle eines Monatsberichts (anonymisiert), ist die Struktur immer gleich?
- Angaben, wie man eine Schleife über alle Monatsberichte legen kann. (alle in einem Ordner, wie wird der Monat gekennzeichnet)
- das, was mir in den drei Minuten noch nicht eingefallen ist.

mfg
Hallo,

danke für die schnellen Antworten.


Ich kann die Originaldatei leider nicht zur Verfügung stellen, da es sich um sehr sensible Firmendaten handelt. Ich habe mal eine Beispieldatei erstellt, die so ungefähr die Struktur der Daten wiedergibt.
Was man daran erkennt ist, dass zu jedem Ultimo eine bestimmte Menge an Daten kommt. Dabei handelt es sich um eine Momentaufnahme aus einem Data-Warehouse. Ich weiß also immer nur stichtagsbezogen, welcher Kunde in welcher Abteilung betreut wird. Bei der Menge an Daten (mehrere Tausend im Monat) ist es dann sehr mühselig, manuell die neu hinzugekommenen und die "verschwundenen" Kunden zu finden bzw. Wanderungsbewegungen innerhalb der Abteilungen auszuwerten.

Zitat:Es ist ein einmalig recht großer Rechenaufwand, die monatlichen Updates sollten dann schnell gehen.


Ich habe mit einer Matrixformel aus INDEX/VERGLEICH eine Formel erstellt, die mir eine neue Liste mit eindeutigen Werten erzeugt. Das hat wunderbar in meinen Beispiel-Daten (ca. 20 Datensätze) funktioniert. Bei meinen Originaldaten war der Rechner damit leider überfordert. Ist eine VBA-Lösung dort besser?

Zitat:Der Code sollte

- alle Monatsdateien ab dem Stichtag durchsuchen

Das dürfte relativ einfach werden, da es nur eine Datei mit den Monatsdaten gibt. Dabei schreibt das Data Warehouse die Daten des aktuellen Monats einfach unter die Daten des vorherigen Monats. (siehe Beispiel)

Zitat:Was wird für die Programmirung benötigt?

- Eine Beispiel-Tabelle eines Monatsberichts (anonymisiert), ist die Struktur immer gleich?

Da es nur eine Tabelle mit Daten gibt, die monateweise ergänzt wird, ist die Struktur immer gleich.

Vielen Dank schon mal, dass ich so schnell eine Antwort bekomme :)

Da es vermutlich auf eine VBA-Lösung hinausläuft, werde ich mir diesbezüglich auch schon mal ein paar Gedanken machen. 

Liebe Grüße,
Ruby
Hallo,

wenn die Daten do wie im Beispiel organisiert sind (auch mit vielen tausenden Zeilen), kann die Aufgabe mit einer Pivot-Tabelle gelöst werden. Notwendig ist es, den Abteilungsnamen durch eine eindeutige Zahl zu ersetzen. In der PT wird die Funktion "Minimum" genutzt.

mfg
Hallo,

Ich bin leider jetzt erst dazu gekommen, an dem Projekt weiter zu arbeiten. Es kamen einige dringendere Projekte dazwischen. Für die, die es interessiert, möchte ich gern meine Lösung des Problems kurz erklären.

Zu meiner Lösung:
Eine Lösung mit Pivot und VBA kam nach ausgiebigem Testen leider nicht in Frage. Pivot scheidet aus, aus, ich die Informationen zu Kunden vielen Ebenen auswerten und weiterverarbeiten muss, was mit Pivot leider nicht funktioniert hat. VBA geht aufgrund einiger Auflagen der IT auch nicht.

Meine Lösung funktioniert nun wie folgt:
Ich nutze die Tatsache aus, dass die Daten monatsweise immer in einem Block stehen. Auf einem anderen Tabellenblatt werte ich dabei mit einer Matrixformel aus, in welcher Zeile ein Stichtag als erstes und als letztes vorkommt. Also zum Beispiel:
01.01.16  |   2   |   465
01.02.16   |  466   |   976
...
Damit habe ich den Bereich, in dem der "Block" zu einem Stichtag steht, mit den Zeilen angegeben.
Im zweiten Schritt nutze ich eine Index-Vergleich-Funktion und durchsuche zu einem Stichtag den jeweils vorherigen Block nach der Abteilung in der der Kunde betreut wird. Somit habe ich eine Spalte mit aktueller Abteilung und eine mit der Abteilung des Vormonats und kann daraus die Auswertungen ableiten. Das schöne daran ist, dass das Ganze sich für jede Information der Kunden anpassen lässt. Die Formeln sind nur leider sehr lang und verschachtelt.
Wer Fragen dazu hat, dem schicke ich gerne noch eine genauere Beschreibung.