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. Access Datei wird per Makro nicht gespeichert

    in Microsoft Access Hilfe
    Access Datei wird per Makro nicht gespeichert: Hallo zusammen, anbei mein Makro: Private Sub Speichern_Click() Dim Dateiname As String Dim Kuerzel Kuerzel = DLookup("mitarbeiterkürzel", "tbl_mitarbeiter", "mitarbeiterid = " &...
  3. Auswertung aus mehreren Registern erstellen (nur die Gelbmarkierten oder mit Datum von akt. Woche)

    in Microsoft Excel Hilfe
    Auswertung aus mehreren Registern erstellen (nur die Gelbmarkierten oder mit Datum von akt. Woche): Hallo zusammen, ich arbeite mit einer Excel-Arbeitsmappe, die mehrere Tabellenblätter enthält. Jedes Blatt dokumentiert bestimmte Vorgänge, und die Struktur der Daten ist in allen Blättern...
  4. Name der Datei durch Excel geändert

    in Microsoft Excel Hilfe
    Name der Datei durch Excel geändert: Hallo und guten Abend, Die Datei wird mittels Button (VBA) zwischen gesichert. Das Makro sichert zuvor die Datei und erstellt zus. eine Sicherungsdatei mit der Erweiterung Beispiel-"Sich"....
  5. Ein Makro für mehrere Register

    in Microsoft Excel Hilfe
    Ein Makro für mehrere Register: Moin, ich habe ein Makro wo Daten aus dem Register Master kopiert werden und Register, das mit einem Datum beschriftet ist. Ich möchte in Jedem Register ein Button haben was Daten aus dem Master...
  6. Makro öffnet unerwartete Datei

    in Microsoft Excel Hilfe
    Makro öffnet unerwartete Datei: Hallo Forum, ich brächte euer Schwarmwissen. Arbeite mit Excel eine Auftragsbearbeitung. Dort habe ich mir einen Button mit Makro erstellt und nutze diesen schon lange. Das Makro generiert ein...
  7. Leerzeilen entfernen

    in Microsoft Word Hilfe
    Leerzeilen entfernen: Hallo in die Runde, ich habe das Problem bzw. den Wunsch in einem DOC die Leerzeilen zu entfernen und das per Makro. Allerdings gelingt es nicht Hintergrund das DOC wird aus einer Dot-Datei...
  8. Makro Schaltflaechen vervielfaeltigen sich....

    in Microsoft Excel Hilfe
    Makro Schaltflaechen vervielfaeltigen sich....: Hallo Zusammen, ich habe eine Exceldatei, die seit ein paar Wochen sehr langsam zu öffnen und zu bearbeiten ist. Zuvor war sie ca. 8MB gross, was sich verdoppelt hat. Ich habe alle Zellen 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