Office: (Office 2007) Makro für Kohortenanalyse

Helfe beim Thema Makro für Kohortenanalyse in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen! Ich versuche momentan aus einem Orderreport eine Kohortenanalyse zu erstellen. Für alle denen das nichts sagt zu kurzen Erläuterung:... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Flowermawi, 8. September 2015.

  1. Flowermawi Neuer User

    Makro für Kohortenanalyse


    Hallo zusammen!

    Ich versuche momentan aus einem Orderreport eine Kohortenanalyse zu erstellen. Für alle denen das nichts sagt zu kurzen Erläuterung: Bei einer Kohortenanalyse wird jeder Neukunde der Kohorte zugeordnet, in der er das erste mal bestellt. (Beispiel: Kunde A bestellt das erste Mal im Januar, d.h. er gehört zur Januar-Kohorte. Kunde B bestellt zum ersten Mal im Februar, er gehört zur Februar-Kohorte. Kunde A bestellt wieder im März, er gehört immer noch zur Januar-Kohorte, da er das erste Mal im Januar bestellt hat.)
    Das alles hat den Zweck, später die Daten für weitere Interpretationen in einer Pivot-Tabelle in Abhängigkeit von Kohorte und Bestelldatum darzustellen.

    Ich habe schon ein Makro für diesen Zweck programmiert. Allerdings bin ich mir sicher, dass dies noch deutlich optimiert werden kann, da der Durchlauf ca. eine halbe Stunde dauert (bei 17.000 Zeilen) und nicht 100% zuverlässig arbeitet (es bleiben Kunden ohne zugeordneter Kohorte)

    Ich hoffe jemand kann mir dabei helfen!

    Vielen Dank und viele Grüße
    Mauritz


    PS: Dies ist mein bisheriger Code:

    Code:
    Sub Kohortenzuordnung()
    
        Range("BY1").Select
        ActiveCell.FormulaR1C1 = "cohort"
    
    lz = Cells(Rows.Count, 2).End(xlUp).Rows.Row
    
    For t = 2 To lz Step 1
    
        If Cells(t, 76).Value = 1 Then 'In Spalte 76 ist die Prüfzelle, ob die Kunden-E-Mail-Adresse zum ersten Mal in der Datenbank auftaucht (1, falls ja, 0, falls nein)
            Cells(t, 77).Value = Cells(t, 73) & "-Kohorte" 'In Spalte 73 steht das Bestelldatum
        End If
    Next t
    
    For u = 2 To lz Step 1
        lx = u - 1
        For v = 2 To lx Step 1
        If Cells(u, 69) Like Cells(v, 69) Then
            Cells(u, 77).Value = Cells(v, 77)
        End If
        Next v
    Next u
    'Dieser Teil ist denke ich noch deutlich zu verbessern! Mein Gedanke war, dass das Makro wieder von oben beginnend prüft, ob die E-Mail-Adresse schon vorgekommen ist und falls dies der Fall ist, ihr die gleiche Kohorte zuordnet.
    End Sub
    
    Vielen Dank nochmal für eure Hilfe!
     
    Flowermawi, 8. September 2015
    #1
  2. ThekesC Erfahrener User
    Hallo,
    mit einem IF Eintrag = "" schauen ob dem Kunden schon eine Kohorte zugeordnet wurde, wenn ja fällt der gesamte Schleifendurchlauf weg.
    Zudem kann man den obene IF in die untere Schleife einbauen weil t und u genau die gleichen Werte ablaufen.
    Versteh ich das richtig dass das Datum nur dann kopiert werden soll wenn sich in der Spalte 76 eine "1" befindet?
    Dann würde ich die zweite For-Schleife in dieses IF schreiben.
     
  3. steve1da Office Guru
    Hola,

    mal ein Auszug aus den Forenregeln....

    2.3: Crossposting - ist grundsätzlich erlaubt, aber nur wenn in dem Beitrag ein eindeutiger Verweis zu dem Thema im anderen Forum vorhanden ist.

    Gruß,
    steve1da
     
    steve1da, 9. September 2015
    #3
Thema:

Makro für Kohortenanalyse

Die Seite wird geladen...
  1. Makro für Kohortenanalyse - Similar Threads - Makro Kohortenanalyse

  2. Makro Zip-Datei von Webseite runterladen, auspacken, kopieren

    in Microsoft Excel Hilfe
    Makro Zip-Datei von Webseite runterladen, auspacken, kopieren: Hallo Zusammen, ich habe ein Makro gefunden von dem ich denke, dass es koennen sollte was ich braeuchte, eine Datei herunterladen, auspacken und den Inhalt in die Datei kopieren in der das Makro...
  3. Makro für variable Anzahl von Datensätzen

    in Microsoft Excel Hilfe
    Makro für variable Anzahl von Datensätzen: Hallo zusammen, ich habe wieder einmal ein kleines Excel-Problem, bei dem Ihr mir sicherlich helfen könnt. Ich habe eine Excel-Liste, das ist ein Export aus einem anderen Programm (siehe...
  4. Makro aus personal.xls starten

    in Microsoft Excel Hilfe
    Makro aus personal.xls starten: Auf einem Arbeitsblatt habe ich mehrere Buttons. Die zugehörigen Makros sind in personal.xls gespeichert. Aus dem Code-Editor heraus kann ich die Makros ohne Problem starten. auf dem Arbeitsblatt...
  5. Dokumente und Blatt umbenennen

    in Microsoft Word Hilfe
    Dokumente und Blatt umbenennen: Ich lade mir jeden Tag csv-Dateien von meiner Bank herunter. Diese sind mit Datum versehen, also die Datei selbst und das erste Blatt, z.B. "Konto_13.02.2024". Wenn ich ein Makro erstelle, in dem...
  6. Speichern mit dem Titel der Zelle A2

    in Microsoft Excel Hilfe
    Speichern mit dem Titel der Zelle A2: Moin moin, Ich habe per Makro einen Arbeitsablauf aufgezeichnet der soweit auch funktioniert. Dieser Endet jedoch im "Speichern Unter" Fenster, welches durch das Klicken von "Drucken als PDF"...
  7. Barcode Scanliste Makro anpassen

    in Microsoft Excel Hilfe
    Barcode Scanliste Makro anpassen: Hallo zusammen! Einer der Mitglieder hier hat mir eine Funktionsliste erstellt, mit der man Barcodes scannt und danach einen Wert über die Bildschirmtastatur eingibt. Die Barcodes hatten bisher...
  8. Makro wird nicht angezeigt im Makro Auswahlfenster

    in Microsoft Excel Hilfe
    Makro wird nicht angezeigt im Makro Auswahlfenster: Hallo, wenn ich mein Makro ausführen möchte, öffnet sich das Makro Auswahlfenster. Allerdings wird das Makro nicht aufgelistet. Das Makro befindet sich in der PERSONAL.xlsb Arbeitsmappe. Die...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden