Summenprodukt-Formel zu langsam

Moderator: ModerationP

Summenprodukt-Formel zu langsam

Beitragvon Michael1234 » 18. Okt 2021, 15:02

Hallo zusammen,
ich bräuchte mal Eure Hilfe bzgl. einer Formel, die ich in einem Makro nutze.
Und zwar geht es um diesen Code, der soweit auch funktioniert:
Code: Alles auswählen
Sub Summenprodukt()
    Application.ScreenUpdating = False
    With Range("AI2:AI" & Cells(Rows.Count, 4).End(xlUp).Row)
        .FormulaLocal = "=REST(SUMMENPRODUKT(N($D$1:D1<>$D$2:D2));2)"
        .Copy
        .PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    End With
    Application.ScreenUpdating = True
End Sub


Und zwar will ich gruppenweise zählen. In Spalte D stehen IDs die ein oder auch mehrfach vorkommen können. Diese habe ich schon aufsteigend sortiert.
Jetzt möchte ich abwechselnd in Spalte AI die eine gleiche Gruppe mit 0, die nächste Gruppe mit 1, dann wieder die nächste Gruppe mit 0 zählen.
Nach diesem Muster:
Spalte D / Spalte AI
11 / 0
11 / 0
11 / 0
234 / 1
234 / 1
789 / 0
1634 / 1
1634 / 1
2020 / 0
2020 / 0
2020 / 0
2020 / 0
usw.

Gibt es hier eine andere Möglichkeit außer mit der Summenproduktformel zu arbeiten? Ich habe über 65.000 Zeilen und das Makro benötigt über 6 Minuten. :(
Hat jemand eine Idee für mich?
Herzlichen Dank für Eure Unterstützung vorab.

Viele Grüße,
Michael
Michael1234
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 222
Registriert: 15. Nov 2011, 16:11

Re: Summenprodukt-Formel zu langsam

Beitragvon Lutz Fricke » 18. Okt 2021, 15:15

Hallo Michael,

ich weiß nicht, ob deine Formel noch eine weitere Bewandnis hat, aber ich würde es (wenn es in der Art überhaupt sein muss) so lösen:
Code: Alles auswählen
=WENN(A2=A1;B1;WENN(B1=0;1;0))


Gruß,
Lutz
Lutz Fricke
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 396
Registriert: 27. Mär 2017, 12:12

Re: Summenprodukt-Formel zu langsam

Beitragvon HKindler » 18. Okt 2021, 15:17

Hi,

in die erste Zeile der Spalte AI z.B. AI1 schreibst du die 0. In die nächste Zeile (AI2) kommt die Formel =--XODER(D2<>D1;AI1)
Die Zeilennummern musst du notfalls anpassen. Die Formel ist so schnell, die kannst du locker auf Vorrat in die Spalte schreiben und brauchst kein VBA.
Gruß,
Helmut

----------------------------
Windows 10 Enterprise (64 Bit) / Office 365 ProPlus (32 Bit)
Benutzeravatar
HKindler
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 6463
Registriert: 04. Jul 2013, 09:02
Wohnort: Schwarzwald

Re: Summenprodukt-Formel zu langsam

Beitragvon slowboarder » 18. Okt 2021, 15:44

Hi

Wenn du XOder nicht hast, kommt folgende Formel in AI2 und folgende:
Code: Alles auswählen
=Wenn(D2=D1;AI1;1-AI1))

Und in AI1 kommt die 1.

Gruß Daniel
slowboarder
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 28574
Registriert: 18. Apr 2009, 13:33


Zurück zu Excel Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: Kuwe und 30 Gäste