Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam

Forumthread: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam

Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
08.08.2025 16:27:33
TomBrady
Liebes Herber Team,

stehe vor einen fast unlösbaren Rätsel mit meiner Aufgabe
Denke das kann fast nur mit VBA gelöst werden mit Arrays wie Schleifen.

Angenommen ich hätte die Zahlen im Array von 1 bis 45
Hätte dann 3000 Zeilen die Excel vergleichen soll hintereinander, wo Zahlen am häufigsten vorkommen in den einzelnen Zeilen, GEMEINSAM, also nicht mit ZählenWenn usw.

Sprich: Excel 2019 und ein Tabellenblatt "Tabelle1"
Ich hätte in ZeileA1:G1
5 20 24 36 39 40 42
Ich hätte in ZeileA2:G2:
5 21 24 36 38 39 42

Diese Zeilen gehen runter bis XXX und Excel könnte mir die Zahlen sagen, wo reinschreiben, was in den XXX Zeilen gemeinsam am häufigsten vorkommen.
Damit meine ich GEMEINSAM pro Zeile und nicht mit ZählenWenn...

Sollten also in den 3000 Zeilen die Zahlen pro ZEILE am häufigsten vorkommen....Msgbox oder in eine andere Zelle speichern.

Ich denke der Code wird schwierig werden, weil ja Excel jede Zeile überprüfen muss und dann vergleichen muss auch noch auf so viele Zeilen um zu einem Endergebnis zu kommen oder?
Denke mal ohne mich gut auszukennen. Den Array anlegen von 1 bis 45
Der Code macht dann alle 3000 Zeilen hintereinander ab und wieder, weil er muss ja dann ein Ergebnis haben, was sind diese Zahlen, die GEMEINSAM wie gemeinsam in den Zeilen und von 1 bis 45 am häufigsten sind.

ZählenWenn wie die bedingte Formatierung ist für mich nicht wirklich sinnvoll und denke, das muss mit VBA gelöst werden können.

LG
TomBrady


Anzeige

58
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
08.08.2025 16:39:18
daniel
Hi
was genau meinst du mit gemeinsam?
wie oft die 45 mit der 1 in einer Ziehung vorkam? und das für jede der 1980 möglichen "Gemeinsamkeiten"?

eine möglichkeit wäre diese, wenn die Ziehungen sortiert sind:

1. verkette in einer weiteren Spalte alle Werte mit Trennzeichen zu einem Text. Das Trennzeichen muss auch am Anfang und Ende stehen:
="-"&Textverketten("-";1;A1:G1)&"-"


wenn du jetzt prüfen willst, wie oft die Zahl 1 gemeinsam mit der 45 gezogen wurde, kannst du das mit ZählenWenn machen:
also die gesuchten Zahlenmit Trennzeichen (das vermeidet, dass die 11 mitgezählt wird, wenn du nach 1 suchst) und Joker.
=ZählenWenn(G:G;"*-1-*-45-*")

dass musst du dann für alle kombinationen durchtesten und schauen, welches die häufigste ist.

sollten die Zahlen unsortiert sein, musst du beide Reichenfolgen prüfen:
=ZählenWenn(G:G;"*-1-*-45-*")+ZählenWenn(G:G;"*-45-*-1-*")



Gruß Daniel
Anzeige
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
08.08.2025 16:45:49
daniel
noch ein Hinweis:
es gibt kein "Herber-Team"
es gibt nur Hans W. Herber, der diese Seite betreibt und dann gibt es die Forumsteilnehmer.
Alle Menschen, die antworten sind genauso Forumsteilnehmer wie die, die Fragen stellen.
Gruß Daniel
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
08.08.2025 19:15:42
daniel
Hi
wenn du im Ergebnis nur die tatsächlich vorkommenden Kombinationen haben willst und nicht alle möglichen (dann mit 0 gezählt), dann musst du die Ergebnisse in einem Dictionary sammeln.

also im prinzip so für alle 2er-Kombinationen aus den Daten

dim erg as object

dim Werte
dim z as long, s1 as long, s2 as long
dim ID as string
dim X

set erg = createobject("Scripting.dictionary")

Werte = Cells(1, 1).CurrentRegion.Value 'alle deine Ergebnisse

for z = 1 to ubound(Werte, 1)
for s1 = 1 to ubound(werte, 2) - 1
for s2 = s1 to ubound(Werte, 2)
ID = werte(z, s1) & "|" werte(z, s2)
erg(ID) = erg(ID) + 1
next
next
next

X = erg.Keys
Cells(1, 10).Resize(X.Count) = Worksheetfunction.Transpose(X)
X = erg.Items
Cells(1, 11).Resize(X.count) = Worksheetfunction.Transpose(X)


für die dreier-Kombinationen bräuchstst du dann noch eine dritte innere Schleife

Gruß Daniel

ps: Code ist nur so hingeschrieben und nicht getestet oder auf Rechtschreibung geprüft.
bitte solche Fehler selber korrigieren, oder lieber lesen,. verstehen , selber schreiben.

Anzeige
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
09.08.2025 00:35:28
Piet
Hallo

Lotto läßt sich auch mit Excel NICHT überlisten! Habe mal vor Jahren eine Lotto Auswertung gemacht.
Interessant ist, 50 Spalten mit Breite 1-2 anlegen, und jede gezogene Zahl als grünen Punkt eintragen.
Das gibt eine interessante bunte Tabelle, wo man erstaunt ist wie oft Zahlenpaare als Muster vorkommen.
Daraus aber die kommenden Lottozahlen berechnen ist nicht möglich!!

mfg Piet
Anzeige
Vektorisieren!
09.08.2025 19:45:39
Yal
Moin zusammen,

Die Lösung geht über eine Methode, die im Machine Learning üblich ist:
Man bildet einen Vektor mit 45 Dimensionen und gruppiert diesen nach Ähnlichkeit (Jaccard oder Cosine). Dann gibt man den Anzahl für jeden Ähnlichkeitsgruppe aus.

Alles klar? ;-)

Startpunkt: jede Vektor ist eine Liste von 45 Elemente, wovon jedes Element eine "Höhe" annimmt. In den Fall entweder 1, "der Zahl ist vorhanden" oder 0, nicht vorhanden. Man kann daher ein 6-Bytes-Zahl (48 Bits) nehmen, um jeden Vektor zu speichern.

Dann sollte man 2 Vektoren "vergleichen", um eine Ähnlichkeitswert (fürs Algo, bitte googeln) zu haben. Diese Wert bildet eine Gruppe. Dann zählt man die Vektoren, die zu jedem Gruppe zuzuordnen ist (Ein Vektor kann in mehreren Gruppen vorkommen.) und gibt die Liste absteigend aus, und dabei die Zahlen, die zur Ähnlichkeit beigetragen haben, anzeigen.

Das Thema Lotto ist natürlich bescheuert, aber die Aufgabe hat etwas interessantes in sich. Es ist denselben Verfahren, der für das Bilden von LLM (Large Language Model, wie Chat GPT) verwendet wird. Nur in wesentlich einfacher.

Mit Basiskenntnisse in Programmierung ist es nicht zu handeln. Auch nicht, wenn man einen Code bekommt und etwas daraus machen sollte.
Also für Tom: kräftig büffeln!

VG
Yal



Anzeige
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
10.08.2025 03:21:30
xlKing
Hi Tom,
Keine Ahnung, was jetzt Statistische Kombinatorik mit Vektoren zu tun haben soll. Das übersteigt selbst meine Kenntnis. Da ich mich aber grade mit Vektoren im Allgemeinen beschäftige, würde mich das in einem separaten Thread tatsächlich interessieren.

Ich würde jedoch ähnlich wie Daniel an die Sache rangehen und einfach ein paar Schleifen ineinander verschachteln. Das solltest selbst du mit VBA-Basiskenntnissen hinbekommen. Die Ergebnisse speichere ich in einem separaten Benutzerobjekt. Füge dazu ein neues Klassenmodul ein und gib ihm den Namen Results. Dort gibst du dann diesen Code an:

Public Values As New Collection

Public Available As Long


In einem allgemeinen Modul kannst du dann diesen Code ausführen:
Sub Ermitteln()


Dim Quelle As Range, Quelldaten, r As Long, c As Long, c1 As Long, c2 As Long, c3 As Long, c4 As Long, c5 As Long, s As String

Dim coll2er As New Collection, coll3er As New Collection, coll4er As New Collection, coll5er As New Collection
Dim Res2er() As Long, Res3er() As Long, Res4er() As Long, Res5er() As Long


Set Quelle = Worksheets("Tabelle1").Range("A1:G3000")
Quelldaten = Quelle

'2er ermitteln
For r = 1 To Quelle.Rows.Count
For c1 = 1 To Quelle.Columns.Count - 1
For c2 = c1 + 1 To Quelle.Columns.Count
s = Quelldaten(r, c1) & ";" & Quelldaten(r, c2)
If Not Exists(s, coll2er) Then
coll2er.Add New Results, s
coll2er(s).Values.Add Quelldaten(r, c1)
coll2er(s).Values.Add Quelldaten(r, c2)
End If
coll2er(s).Available = coll2er(s).Available + 1
Next c2
Next c1
Next r

'3er ermitteln
For r = 1 To Quelle.Rows.Count
For c1 = 1 To Quelle.Columns.Count - 2
For c2 = c1 + 1 To Quelle.Columns.Count - 1
For c3 = c2 + 1 To Quelle.Columns.Count
s = Quelldaten(r, c1) & ";" & Quelldaten(r, c2) & ";" & Quelldaten(r, c3)
If Not Exists(s, coll3er) Then
coll3er.Add New Results, s
coll3er(s).Values.Add Quelldaten(r, c1)
coll3er(s).Values.Add Quelldaten(r, c2)
coll3er(s).Values.Add Quelldaten(r, c3)
End If
coll3er(s).Available = coll3er(s).Available + 1
Next c3
Next c2
Next c1
Next r


'4er ermitteln
For r = 1 To Quelle.Rows.Count
For c1 = 1 To Quelle.Columns.Count - 3
For c2 = c1 + 1 To Quelle.Columns.Count - 2
For c3 = c2 + 1 To Quelle.Columns.Count - 1
For c4 = c3 + 1 To Quelle.Columns.Count
s = Quelldaten(r, c1) & ";" & Quelldaten(r, c2) & ";" & Quelldaten(r, c3) & ";" & Quelldaten(r, c4)
If Not Exists(s, coll4er) Then
coll4er.Add New Results, s
coll4er(s).Values.Add Quelldaten(r, c1)
coll4er(s).Values.Add Quelldaten(r, c2)
coll4er(s).Values.Add Quelldaten(r, c3)
coll4er(s).Values.Add Quelldaten(r, c4)
End If
coll4er(s).Available = coll4er(s).Available + 1
Next c4
Next c3
Next c2
Next c1
Next r


'5er ermitteln
For r = 1 To Quelle.Rows.Count
For c1 = 1 To Quelle.Columns.Count - 4
For c2 = c1 + 1 To Quelle.Columns.Count - 3
For c3 = c2 + 1 To Quelle.Columns.Count - 2
For c4 = c3 + 1 To Quelle.Columns.Count - 1
For c5 = c4 + 1 To Quelle.Columns.Count
s = Quelldaten(r, c1) & ";" & Quelldaten(r, c2) & ";" & Quelldaten(r, c3) & ";" & Quelldaten(r, c4) & ";" & Quelldaten(r, c5)
If Not Exists(s, coll5er) Then
coll5er.Add New Results, s
coll5er(s).Values.Add Quelldaten(r, c1)
coll5er(s).Values.Add Quelldaten(r, c2)
coll5er(s).Values.Add Quelldaten(r, c3)
coll5er(s).Values.Add Quelldaten(r, c4)
coll5er(s).Values.Add Quelldaten(r, c5)
End If
coll5er(s).Available = coll5er(s).Available + 1
Next c5
Next c4
Next c3
Next c2
Next c1
Next r



r = 0
With Worksheets.Add

'2er ausgeben
ReDim Res2er(1 To coll2er.Count, 1 To coll2er(1).Values.Count + 1) As Long
For r = 1 To coll2er.Count
For c = 1 To coll2er(r).Values.Count
Res2er(r, c) = coll2er(r).Values(c)
Next c
Res2er(r, c) = coll2er(r).Available
Next r
.Cells(1, 1).Resize(UBound(Res2er, 1), UBound(Res2er, 2)) = Res2er
.Range(.Cells(1, 1), .Cells(r - 1, c)).Sort Key1:=.Range(.Cells(1, c), .Cells(r - 1, c)), order1:=xlDescending


'3er ausgeben
ReDim Res3er(1 To coll3er.Count, 1 To coll3er(1).Values.Count + 1) As Long
For r = 1 To coll3er.Count
For c = 1 To coll3er(r).Values.Count
Res3er(r, c) = coll3er(r).Values(c)
Next c
Res3er(r, c) = coll3er(r).Available
Next r
.Cells(1, 5).Resize(UBound(Res3er, 1), UBound(Res3er, 2)) = Res3er
.Range(.Cells(1, 5), .Cells(r - 1, c + 4)).Sort Key1:=.Range(.Cells(1, c + 4), .Cells(r - 1, c + 4)), order1:=xlDescending

'4er ausgeben
ReDim Res4er(1 To coll4er.Count, 1 To coll4er(1).Values.Count + 1) As Long
For r = 1 To coll4er.Count
For c = 1 To coll4er(r).Values.Count
Res4er(r, c) = coll4er(r).Values(c)
Next c
Res4er(r, c) = coll4er(r).Available
Next r
.Cells(1, 10).Resize(UBound(Res4er, 1), UBound(Res4er, 2)) = Res4er
.Range(.Cells(1, 10), .Cells(r - 1, c + 9)).Sort Key1:=.Range(.Cells(1, c + 9), .Cells(r - 1, c + 9)), order1:=xlDescending


'5er ausgeben
ReDim Res5er(1 To coll5er.Count, 1 To coll5er(1).Values.Count + 1) As Long
For r = 1 To coll5er.Count
For c = 1 To coll5er(r).Values.Count
Res5er(r, c) = coll5er(r).Values(c)
Next c
Res5er(r, c) = coll5er(r).Available
Next r
.Cells(1, 16).Resize(UBound(Res5er, 1), UBound(Res5er, 2)) = Res5er
.Range(.Cells(1, 16), .Cells(r - 1, c + 15)).Sort Key1:=.Range(.Cells(1, c + 15), .Cells(r - 1, c + 15)), order1:=xlDescending
End With


MsgBox "Fertig"

End Sub

Je nach Geschwindigkeit deines Computers solltest du ihm schon ein bisschen Zeit (ca. 1-2 Minuten) für den Durchlauf geben. Am Ende kommt dann eine Fertig-Meldung.

Der Code legt ein neues Tabellenblatt an, wo du die Einzelnen Werte und deren Häufigkeit in absteigender Sortierung in separaten Spalten siehst.

PS: Solltest du mithilfe dieses Codes einen höheren Betrag gewinnen, hätt ich gern was davon ab. :-)

Gruß Mr. K.
Anzeige
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
10.08.2025 09:17:52
TomBrady
Hallo Mr. K,

schon mal vielen Dank für den interessanten Code von Dir, welchen ich ja gleich mal testen wollte.
Jedenfalls habe ich es so gemacht wie von Dir beschrieben.....Klassenmodul erstellt und benannt nach Results
Dann ein Modul1 erstellt und den Code da eingefügt.

Dann versuchte ich mit Einzelschritten mal zu schauen ob Excel wo meckert und ja, bei "If Not Exists(s, coll2er) Then"
Er sagt mir, dass hier etwas nicht definiert sei?
Hat es was mit einer SQL Datei zu tun oder muss man im Klassenmodul mit dem Namen Results noch was definieren?
Weil im Modul1 im Code ist ja alles schon definiert was ich gesehen habe.
Nur warum s mit String definieren? Ich habe derzeit keinen Text in Tabelle1.
Aber der meckert bei If Not Exists

Ich habe mal meine Testdatei mit angefügt.
https://www.herber.de/bbs/user/178559.xlsm

P.S mit VBA Basiswissen wird es schwer werden so einen Code zu erstellen.
LG Tom
Anzeige
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
13.08.2025 21:15:53
BoskoBiati
Hallo,

da hier die ganze Zeit mit dem österreichischen Lotto gearbeitet wurde, habe ich mal eine Datei für das deutsche Lotto 6 aus 49 erstellt. Die Daten werden von der Seite
https://www.lottozahlenonline.de/statistik/beide-spieltage/lottozahlen-archiv.php mit PQ abgerufen (Eine Anfängerversion in PQ, bin für jeden Verbesserungsvorschlag dankbar) und mit den angepassten Makros von Sulprobil ausgewertet.

https://www.herber.de/bbs/user/178602.xlsb

Gruß

Edgar



Anzeige
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
13.08.2025 22:21:38
TomBrady
gefällt mir dein Beitrag zum Deutschen Lotto, obwohl ich da nicht weiß wie das so abläuft?

gibt es also 2mal in der Woche eine Ziehung?
Ich denke mal, es gibt wie in Österreich zwei Ziehungen in der Woche oder?
Also werden 6 Zahlen gezogen wie in Österreich und die 7.te Zahl ist dann die Superzahlt, was bei uns ist Österreich die Zusatzzahl ist oder?
Was sind die anderen Zahlen in Deutschland? Ist das wie LottoPlus? Also wie ich sehe wird am Mittwoch und Samstag gezogen und dann nochmals 6 Zahlen.
Ist das, wie bei uns Lottoplus mit weniger Gewinn, wenn man das ankreuzt....ich kenne mich mit dem deutschen Lotto nicht so aus.....etwas komplizierter.

LG Tom
Anzeige
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
13.08.2025 23:17:15
BoskoBiati
Hi,

das deutsche Lotto begann in 1955 mit einer Ziehung pro Woche, seit 1.1.2000 werden in Deutschland 2 Ziehungen durchgeführt. Es werden 6 Zahlen aus 49 gezogen, dazu kommt eine separate Superzahl aus 0 bis 9.
Meine Datei wertet nur die gezogenen 6 aus 49 aus.

Gruß

Edgar
Anzeige
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
14.08.2025 00:07:26
TomBrady
Hallo Edgar,

hast du schon die ganze Rohdaten von 1955 bis 2025?
Könnte ich vielleicht besorgen, braucht halt etwas Zeit, weil die von 1955 bis 2025 erstellt werden müssen.
Also was ich so sehe ist das Ösilotto eh fast gleich, nur nennt man es in Deutschland mit Superzahl und was die anderen 6 Zahlen sind pro zweiten Ziehung wird wohl wie LottPlus sein, aber mit weniger Gewinn...Also wird 2mal in Deutschland Lotto gespielt, wie heißt die zweite Ziehung mit 6 Zahlen in Deutschland?
Liege ich da falsch?

LG Tom
Anzeige
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
14.08.2025 01:58:48
TomBrady
Ich denke auf alle Fälle, es macht keinen Sinn die Zahlen von 1955 bis jetzt 2025 zu begutachten.

Weil die Ziehungsgeräte habe sich geändert.
Zudem sagen Sie, es gibt zwei Ziehungen, also 7 Kugeln aus einem Ziehungsgerät und die Superzahl ist die 7.te Zahl?
Die zweite Ziehung, wie nennt man das dann in Deutschland, wo nur 6 Zahlen gezogen werden?
Sind das gleiche Ziehungsgeräte von der Bauart?
Anzeige
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
14.08.2025 12:54:24
TomBrady
bald habe ich die Daten von Deutschland von Beginn bis jetzt 2025
Ist lustig mit Superzahl und dann auch mal die Zusatzzahl und ganz andere Ziehungsgeräte, wie auch mal Zusatzzahl und so Superzahl.
Werde das mal irgendwann auswerten und bin gespannt was ein Tipp kostet, weil im Ösiland zahlst pro Tipp 1,50 EUR

Die Zahlen sind halt ein Spiel für die Männer, die es wissen wollen....gewinnen tun eh immer die, was keine Ahnung haben*gg
Egal oder?
Meine Kinder haben immer Angst wenn ich Mathe mit Ihnen machen will und fangen an zu weinen.
Ich sage, warum weinen?
Papa, können wir das Morgen machen?
Morgen ist gut, weil ich lerne das gerade wieder, was ihr so machen müsst, aber ich bemühe mich und die Kinder lachen*gg*
Ihr lacht und habt eine Gaudi, Spaß und wenn das nicht fertig ist, wird mich die Mamma ganz schön weh tun.
Nein, das macht die NIE, ....ich sage, wenn ich was eurer Mamma verspreche, muss ich das machen, weil sonst sagt die nix da mit Freiheit bei Papa.

Im Leben ist es nicht wichtig alles zu gewinnen!
Es ist toll, wenn man eine Idee hat, was andere nicht haben.
Die Häufigkeit kann man super auswerten mit dem Taschenrechner, dazu habe ich schon für das Ösiland erstellt wie das aussieht.
Die Rohdaten sind wichtig, aber ich denke von 1956 oder 1955 bis 2025 macht keinen Sinn.

Zudem habe ich eine Freundin die eine Ärztin ist.
Die hat mir gesagt, finde toll was du da so machst, die Daten würde ich gerne haben, weil du scheinst gar nicht so blöd zu sein.
Wir haben geredet und sagte Ihr, das Problem, ich habe die Daten, ich habe Auswertungen....nur bin ich im Tunnelblick!
Sagte zu Ihr, darum braucht man andere, die diesen Blick nicht haben und es anders auswerten.
Die sagte mir, wenn du jetzt 8 Millionen machst, was tusts dann?
Ich sage dann, nach Kanada würde ich gerne, Elche ansehen und das Land ist irgendwie cool und sonst....eine Million für mich, der Rest an die Kinder, Kindesmutter oder vielleicht was an Dich*gg*
Da ich ständig gewinne, aber nicht das tolle Teil muss ich halt warten, bis es klappt, so ist das Leben.
Aber jetzt zum Thema Excel......weil ich schon aufgefallen bin hier......tut hier als Coder eines, nicht immer an andere denken, es reicht wenn man eine Idee umsetzt.
Beispiel: User1 hat eine Idee
Beispiel: User2 kann es umsetzen
Beispiel: User3 hat gute Vorschläge
Beispiel: User4 hat den Finalcode von allen

LG Tom
Anzeige
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
10.08.2025 18:42:27
xlKing
Hi Tom,

war wohl doch schon zu spät gestern. Da hab ich doch glatt den wichtigsten Code vergessen mit reinzukopieren. In meinen Tests hats geklappt weil der Teil natürlich da war. Diese Function gehört natürlich mit rein in das allgemeine Modul unterhalb des großen Codes:

Function Exists(name As String, coll As Collection) As Boolean

On Error Resume Next
Exists = IsObject(coll(name))
End Function


Nochmal sorry
Mr. K.
Anzeige
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
10.08.2025 20:03:29
TomBrady
Zu spät ist es nie im Leben, bis auf Heute, weil dein Code funktioniert super, braucht geile lange und das ist gut, weil er tüchtig arbeitet ohne zu meckern!
So langsam ist er ja gar nicht, nur der muss auch hart arbeiten und das passt schon so.

Also was ich das so in Tabelle2 raus bekomme sind die 2er, die 3er, 4er wie fünfer Zahlen von den Zeilen.
Finde ich mal super!

Das muss ich natürlich noch alles machen mit jedem Jahr usw....um dann zu wissen was ich so tippen darf.
Weil für Heute ist es schon fast zu spät, weil am Sonntag in Österreich wird bis 18 Uhr oder 18:30 getippt und habe noch keinen Plan.

Die Lösung mit einer Funktion ist natürlich genial, das geht schon über das hinaus, was keine mit VBA Grundkenntnisse wissen.

Was mir Spaß macht, weil die ganze Community so hilfreich immer ist und das schätze ich!!!
Wie gesagt, mir geht es nicht das System zu knacken, weil das kann man nicht, aber sich annähern wenn man Rohdaten hat.

Ich finde deinen Code super und ich muss das noch überprüfen mit allen, aus den ganzen Jahren usw.
Aber schaut sehr vernünftig, sehr gut aus.

Ich wiederhole mich halt wieder, leider, weil mein Problem sehr komplex ist und war....es schwer ist da irgend eine Lösung zu finden.
Schleifen natürlich, Arrays natürlich usw....aber der muss das dann ja irgendwie speichern und ablegen und wieder durchgehen....darum sehr kompliziert.

Wie gesagt, im ÖSI Lotto gibt es 2 Ziehungsgeräte, die genau gleich sind um am selben Tag gezogen werden, die Zahlen.
Ziehungsgerät1 macht 7 Zahlen, obwohl nur die ersten 6 Zahlen von Bedeutung sind.
Die anderen mit der 7. Zahl sind nur wichtig für weniger Geld.

Ziehungsgerät2 was genau gleich ist wie das von den Lottoziehungen, macht nur 6 Zahlen, aber das selbe Gerät.
Was erstaunlich ist! Vergleiche ich diese Zahlen über das Jahr mit Zählenwenn bekomme ich fast die gleichen Zahlen.
Also muss ich davon ausgehen, es gibt da 2 Ziehungsgeräte mit 45 Kugeln die sich fast gleich verhalten oder?

Ich muss damit natürlich mit meiner Psycholigin reden, weil die fragte mich, was ich denn mache mit 8 Millionen oder so?
Sage dann zu Ihr, eine Mille für mich, dann was noch da ist für meine Kinder und der Kindesmutter und ein ganz großer Teil auch an die Kinder im Krankenhaus.
Die Kinder was im Krankenhaus im sterben liegen, sind mir sehr wichtig, weil die ja noch gar nicht oder keine Chance gehabt haben.
Die sagt zu mir, bist du so blöd oder tust du nur so blöd....ich sage dann zu ihr ich bin so blöd, weil ich mag es wenn Codes laufen und die was in der Pension sind arbeite ir zu viel, .....die haben wohl noch nicht wirklich was gearbeitet und dann legen die los, da kommt man ja gar nicht mehr nach*gg*

Nachredner, braucht nicht antworten auf meinen Text, weil es zu fad ist hier.....ich finde es aber toll, dass Mr. K mir einen tollen Code geschickt hat!
Ich schreibe halt gerne, weil ich dankbar bin für so etwas, weil ich nicht viel Erfahrung habe in VBA und erstaunt bin was Excel so alles kann.

Es gibt hier einige Leute die gleich mal eine Lösung vorschlagen, dass ich total wow finde!
Zum Excel Coder werde ich sicher nicht, weil ich muss mir die Codes ansehen und so gut geschrieben....

Was soll ich jetzt tippen? habe nur mehr wenig Zeit.



Anzeige
AW: sbMostFrequentPairs
10.08.2025 03:52:39
sulprobil
Hallo,

Wenn ich Dich richtig verstanden habe, suchst Du etwas in der Art von sbMostFrequentPairs.
Siehe Seite 129:
https://www.sulprobil.de/excel_vba_a_collection_en/
Der Kern des Algorithmus (der Formel) besteht in einer Matrixmultiplikation.

Viele Grüße,
Bernd
Anzeige
AW: Nachtrag - ein paar kleine Optimierungen
10.08.2025 20:21:35
Sulprobil
Die 5-Tupel konnten ein wenig eleganter ermittelt werden und die Ausgabe (Sortierung und Aufbereitung) lagerte ich in eine Sub aus, um die ständigen Code Wiederholungen zu vermeiden:

(ohne Gewähr)

https://www.sulprobil.de/excel_vba_a_collection_en/
Seite 194 ff.

Sorry, dass dies etwas nach Click-Bait ausschaut. Aber ich finde immer wieder kleine Verbesserungen (oder muss Fehler ausmerzen) und kann dies nur an (m)einer Stelle leisten.

Viele Grüße,
Bernd

Anzeige
AW: Nachtrag - ein paar kleine Optimierungen
10.08.2025 20:30:03
TomBrady
Bernd,
ich werde mir das natürlich ansehen, weil ich will ja was lernen von .......
danke für deinen Code, ich habe selber getippt und mal schauen......sicherlich wieder Zusatzzahl alleine, über das freue ich mich immer so.
ja, deinen Code muss ich mir erst ansehen, dazu hätte ich aber etwas Zeit gebraucht....hab ja alle Jahre von Österreich.
In Deutschland ist das anders, die gehen da hart ran mit bis zu 49 Zahlen, das macht es schwer mit der Zusazzahl auch noch.
Naja, die Ausländer tippen und gewinnen, die brauchen so was nicht wie Excel*gg*
Anzeige
AW: Nachtrag2
11.08.2025 14:33:14
Yal
Moin,

Urlaub vorbei, wieder am Rechner. Möchte daher, trotz vollständige Lösung von Bernd, auch eine Lösung vorschlagen, da diese sehr abgespeckt ist: es wird immer nur die maximale Anzahl von Treffer gelistet, spricht, wenn 3 Zahlen gleich sind, werden die 3 "Zweier", die auch darin vorhanden sind, ignoriert.

Sub Yal_()

Dim Eingang
Dim i, j, k, l
Dim Dic As Dictionary
Dim Erg As String

Debug.Print "Start:" & Timer
'Init
Eingang = Worksheets("Input").Cells(1, 1).CurrentRegion.Value
Set Dic = CreateObject("Scripting.Dictionary")
'Lesen+Bewerten
For i = LBound(Eingang, 1) To UBound(Eingang, 1) - 1 'Ziehung 1
For j = i + 1 To UBound(Eingang, 1) 'Ziehung 2
Erg = ""
For k = 1 To 7 'Zahl in Ziehung 1
For l = 1 To 7 'Zahl in Ziehung 2
If Eingang(i, k) = Eingang(j, l) Then Erg = Erg & "|" & Format(Eingang(i, k), "00") 'Zahlen 2-stellig
Next
Next
If UBound(Split(Erg, "|")) > 1 Then Dic(Mid(Erg, 2)) = Dic(Mid(Erg, 2)) + 1 'nur die Ergebnisse, die mehr als einen Treffer haben
Next
Next
Debug.Print "Ende Bew.: " & Timer
'Ausgeben
With Worksheets.Add
.Range("A1:C1") = Array("Kombi", "Anz. Treffer", "Kombi-Stufe")
.Range("A2").Resize(Dic.Count, 1) = Application.Transpose(Dic.Keys)
.Range("B2").Resize(Dic.Count, 1) = Application.Transpose(Dic.Items)
.ListObjects.Add xlSrcRange, .Range("$A$1").CurrentRegion, , xlYes
.Range("C2").Formula2Local = "=AUFRUNDEN(LÄNGE([@Kombi])/3;0)"
.Calculate
End With
Debug.Print "Ende: " & Timer
End Sub

Dabei fehlt es mir auf, dass die erste 6 Zahlen einer Ziehung sortiert sind, der 7te aber nicht. Müssen nicht die erste 6 Zahlen miteinander verglichen werden und der 7te nur mit der anderen 7te?

VG
Yal
Anzeige
AW: Nachtrag3
11.08.2025 14:50:58
Yal
Mit getrennter Bewertung der Zusatzzahl sieht es dann so aus:

Sub Yal_()

Dim Eingang
Dim i, j, k, l
Dim Dic As Dictionary
Dim Erg As String

Debug.Print "Start: " & Timer
'Init
Eingang = Worksheets("Input").Cells(1, 1).CurrentRegion.Value
Set Dic = CreateObject("Scripting.Dictionary")
'Lesen+Bewerten
For i = LBound(Eingang, 1) To UBound(Eingang, 1) - 1 'Ziehung 1
For j = i + 1 To UBound(Eingang, 1) 'Ziehung 2
Erg = ""
For k = 1 To 6 'Zahl in Ziehung 1
For l = 1 To 6 'Zahl in Ziehung 2
If Eingang(i, k) = Eingang(j, l) Then Erg = Erg & "|" & Format(Eingang(i, k), "00") 'Zahlen 2-stellig
Next
Next
If Eingang(i, 7) = Eingang(j, 7) Then Erg = Erg & "-" & Format(Eingang(i, 7), "00") 'Zahlen 2-stellig
If (Len(Erg) / 3) > 1 Then Dic(Erg) = Dic(Erg) + 1 'nur die Ergebnisse, die mehr als einen Treffer haben
Next
Next
Debug.Print "Ende Bew.: " & Timer
'Ausgeben
With Worksheets.Add
.Range("A1:D1") = Array("Kombi", "Anz. Ziehungen", "Anz. Treffer", "Anz. T. Ohne Zusatz")
.Range("A2").Resize(Dic.Count, 1) = Application.Transpose(Dic.Keys)
.Range("B2").Resize(Dic.Count, 1) = Application.Transpose(Dic.items)
.ListObjects.Add xlSrcRange, .Range("$A$1").CurrentRegion, , xlYes
.Range("C2").Formula2Local = "=LÄNGE([@Kombi])/3"
.Range("D2").Formula2Local = "=WENNFEHLER(LÄNGE(TEXTVOR([@Kombi];""-""))/3;[@[Anz. Treffer]])"
.Calculate
End With
Debug.Print "Ende: " & Timer
End Sub


VG
Yal
Anzeige
AW: Nachtrag3
11.08.2025 20:00:28
TomBrady
Wieder so ein feines Coderl für meine Augen von Yal!

Bernd hat sich da echt reingehaut in das Geschehen der Kunst der Auswertung!
(Komisch war nur, ich brauchte Excel 2024, damit es funktioniert....komisch, war aber so)
Die Auswertung erfolgt dann über 2 Treffer, 3 Treffer, 4 Treffer und 5 Treffern, von den Rohdaten aus Tabelle1 und was dann in der neu angelegten Tabelle2 angezeigt werden mit den Treffern von den Zahlen, geordnet nach unten.

Urlaub vorbei? Jetzt wo wieder die Hitzewelle kommt und schon wieder voll am CODEN?

Dim Dic As Dictionary wird wohl abhängig sein von einer Klasse oder Function, nehme ich mal an

P.S zum Glück habe ich gestern nicht getippt,....die Zahlen waren wieder nicht nach meinen Wunsch, Glück im Unglück gehabt*gg*
LG Tom
Anzeige
AW: Nachtrag3
11.08.2025 20:40:03
Yal
Moin,

ja, ich habe zwischen early und late binding geschwankt und daraus "Reste" hinterlassen.

Entweder unter "Extras", "Verweise..." einen Haken bei "Windows Scripting Runtime" setzen und
Dim Dic As Dictionary


Set Dic = New Dictionary
Das ist der "early binding", also früh Anbindung der Bibliothek, was ich bevorzüge, weil Intellisense, Objekt-Katalog und Kompiler-Check vorhanden sind.

Oder direkt:
Dim Dic As Object


Set Dic = CreateObject("Scripting.Dictionary")
Das ist der late binding. Ausser dass man die Bibliothek nicht anhaken muss, sehe ich nicht viele Vorteile.

VG
Yal
Anzeige
AW: Und bei mehr als 2er Kombis Daniel's Ansatz mit ...
10.08.2025 04:09:58
sulprobil
Combinations of Subsets k of n, Seite 133.
Dann wird es deutlich aufwendiger.
AW: sbMostFrequentPairs
10.08.2025 13:16:42
Yal
Moin,

Ich habe Urlaub und weigere mich, den Rechner zu starten, daher nur Klugscheißerei aus dem Smartphone ;-)
Ich könnte daher nicht die gelieferten Codes in Detail anschauen, aber es sieht gut aus.

Die Cosine-Ähnlichkeit reduziert sich in diesem besonderen Fall auf die Anzahl von Zahlen die gleich sind durch 5. Da der "durch 5" (die euklidische Distanz) immer 5 ist, weil immer 5 Zahlen auf 1 und alle andere auf null, kann man sich den /5 sparen.

Es bleibt daher eine doppelte For-Schleife um die 5 Zahlen der erste Kombi mit den 5 Zahlen der zweite zu vergleichen und die Treffer zu zählen.
Dann noch eine zweite doppelte For-Schleife um alle Kombi miteinander zu vergleichen.

Da ein Zweier-Gleichheit ein Untermenge von einer Dreier, usw., könnte man hier eventuell optimieren.

Aber im Grunde ist schon alles da. Schön wär's gewesen, die Cosine-Ähnlichkeit so zu implementieren, dass man diese allgemeinen einsetzen kann. Wäre aber Luxus :-)

VG
Yal

Anzeige
AW: Eine (fast) allgemeine Lösung
10.08.2025 12:23:50
Sulprobil
Ohne jegliche Gewährleistung:

Userbild

https://www.herber.de/bbs/user/178561.xlsm

Eine interessante Erkenntnis: Ein Sechser wiederholt sich: Zeile 2371 = Zeile 3399.
Anzeige
Ganz großes Kino! Vielen Dank! OwT
10.08.2025 12:41:00
RPP63
.
AW: Ganz großes Kino! Vielen Dank! OwT
10.08.2025 13:02:08
TomBrady
Der Ansatz ist natürlich gut wie die Erkenntnis....nur das Makro unterbricht.
Mit einer Fehlermeldung.
Es geht bis nicht zu den Daten oder im Output, dem Tabellenblatt
AW: Ganz großes Kino! Vielen Dank! OwT
10.08.2025 13:06:37
RPP63
Die Variable v ist nicht dimensioniert.
Das wird doch auch als Fehlermeldung ausgeworfen.
Da fehlt im Makro Lotto_k_tuples
Dim v As Object

Das dürfte doch auch mit VBA-Basiskenntnissen zu schaffen sein?
Anzeige
AW: Danke Ralf - Dim v as Variant fehlte
10.08.2025 13:11:47
Sulprobil
Danke, Ralf!

Ich verlasse mich zu sehr darauf, dass mit Option Explicit alles klappt.

Viele Grüße,
Bernd
AW: Ich nutze Excel 2024, bei älteren Versionen bitte ...
10.08.2025 13:07:46
Sulprobil
... die Sortierbefehle aus dem VBA löschen und später von Hand sortieren.
Dann sollte es auch mit älteren Excel Versionen klappen.

Viele Grüße,
Bernd
AW: Probiere mal diese Version, aber setze ...
10.08.2025 13:24:57
Sulprobil
#Const NO_SORT = True

(oben im Modul General)

Wieder ohne jegliche Gewährleistung:

https://www.herber.de/bbs/user/178563.xlsm

Klappt es jetzt?
Anzeige
AW: Probiere mal diese Version, aber setze ...
10.08.2025 13:42:28
TomBrady
hab es probiert und habe True eingesetzt....der Code kommt weiter, aber meckert nun bei

wsO.Columns("C:C").Replace What:="|0", Replacement:="|", LookAt:=xlPart, _
FormulaVersion:=xlReplaceFormula2

Hat es mit Excel 2019 was zu tun?

Er macht mir dann in Output:
Die Ergebnisse in Spalte A, in Spalte B und in Spalte C wie Spalte D...aber bei 3-Tuples mag er nicht mehr
Anzeige
AW: Lösche bitte alle für Excel 2019 problematischen Zeilen
10.08.2025 14:40:11
Sulprobil
Probiere es aus.

Vielleicht reicht auch einfach die Löschung von:
, _
FormulaVersion:=xlReplaceFormula2

Es sieht danach aus, dass dies erst nach Excel 2019 kam.

Viele Grüße,
Bernd
AW: Lösche bitte alle für Excel 2019 problematischen Zeilen
10.08.2025 14:55:12
TomBrady
Ich finde deine Tipps super und werde es eh versuchen!

Weil ich habe schon die Tabellenblätter gelöscht mit alles über der Excel 2019 Version.
Sprich die Tabellenblätter mit "Start" ...Alles löschen bringt ja nur die Formatierung oder die Werte, die gelöscht werden.
Ich denke, wenn ich die Version 2024 habe, die ich mir beschaffe....glaube ich nicht, dass es besser wird oder?
Bei Dir hat es funktioniert mit der Version 2024?
Sollte ein Code nicht bis min auf 2019 gewährleistet ein?
Ich werde es vielleicht versuchen und rede mit einer Freundin die 2024er hat am Pc...aber ich denke es wird dennoch die Fehlermeldung geben.
Codes sollten sich ja zwischen 2019 und 2024 nicht ändern oder?

Die Lösung von Dir gefällt mir, ist genau was ich haben will, er mag halt nicht bei mir.

Jetzt muss ich dem Mädchen noch erklären wie man das Entwickertools frei schaltet um es oben zu sehen.
Die kennt sich natürlich aus, was ist das, Modul1 und so Klassen....schwierige Angelegenheit.

Aber mal schauen was Excel 2024 bringt und ich denke, dem fehlt was im Code.
Anzeige
AW: Lösche bitte alle für Excel 2019 problematischen Zeilen
10.08.2025 16:19:44
TomBrady
& Bernd,

ich hab gesagt, Mädel Laptop her, du hast die Office 2019 bis 2024 drauf!
Ich muss was machen und mach mir einen Kaffee, ohne Milch und Zucker....sei brav
Deine anderen Dateien schauen ich mir eh nicht an.....

Ich stecke den Stick ein und lass ihn laufen und er funktioniert der Code!
Die Gute Freundin bist nun glücklich?
Mädel mach dir keine Sorgen, ich hoffe der Kaffee ist gut*gg*

Bernd es fuktioniert total auf dem Laptop von ihr!
Ich weiß zwar noch nicht die Zahlen was am häufigstigen vorkommen in den Zeilen.....vielleicht habe ich einen Tunnelblick.
Der Code von Dir war Traumhaft wie der das auswertet......und ich als VBA Schüler wüsste das nicht was ich sagen soll.
Für mich ist das halt die höchste RIEGE an Coden, weil das muss man mal so coden können mit so einer perfekten Auswertung.

Der Code ist was für Excel für Erwachsene und auspassen....weil Bernd weiß wie man so ein Problem lösen kann ohne ..........
warum muss ich mir die Häufigkeit ausrechnen, die statistiken usw....ich habe Sie ja alle....es braucht eben so einen code, den ich zwar nicht verstehe aber versuche mich da rein zu denken.....

Die einen sagen, versuche es mit 2 und auch mal mit drei usw.....Bernd gab mir einen Code wo ich ein Ergnis habe, noch nicht schlau werde, aber der funktioniert und bitte kommt mir nicht mit KI, die macht so viele Fehler....wird ja gefüttert von Menschen.

Danke Bernd!!!

Anzeige
AW: Danke. Ignoriere meinen letzten Versuch :-)
10.08.2025 16:35:35
sulprobil
AW: Letzter Versuch
10.08.2025 16:33:06
sulprobil
Tom,

Bitte mache einmal genau das und auch nur das, was ich Dir empfehle (ohne Gewähr!):
1. Nimm die 2. Datei, die ich hier hochlud.
2. Setze oben im Modul General die #Const NO_SORT = True.
3. Drücke den Button im Tabellenblatt Input.
4. Lösche bei jedem Fehler die gesamte gelb markierte Fehlerzeile des VBA Codes und setze die Programmausführung mit F5 fort. (Du könntest auch die Zeile #End If von oberhalb der Fehlerzeile unter die Fehlerzeile schieben, das Programm beenden und dann neu starten, aber dies hielte ich mittlerweile für eine gefahrgeneigte Veranstaltung).

Bitte mache Folgendes nicht:
- Lösche keine Tabellenblätter aus meiner Datei.
- Versuche nicht, meinen Code in einer anderen Exceldatei zum Laufen zu bringen.
Du kennst offenbar interne Codenamen (von Tabellenblättern) noch nicht.

Wenn diese Hinweise nicht fruchten, fürchte ich, dass ich Dich bei dieser Herausforderung endgültig nicht erfolgreich "fernsteuern" kann.

Noch ein paar Antworten auf Deine Fragen bzw. Hinweise zu Deinen Annahmen:
- Doch, mit Excel 2024 oder 365 sollte meine 2. Datei problemlos laufen (ggf. mit rechter Maustaste unter Eigenschaften "zulassen" anklicken, natürlich auf eigene Gefahr)
- Aber ja, bei mir lief es mit Excel 2024 (die Bilddatei erstellte ich nicht manuell).
- Was Du über das Löschen von Tabellenblättern oder Alles löschen schriebst, verstand ich nicht und ließ mich etwas schaudern.
- Ja, der VBA Code kann zwischen 2019 und 2024 abweichen, eine Gewährleistung bis auf mindestens 2019 (was auch immer Du damit gemeint hast) kann es nicht geben.

Viele Grüße,
Bernd
Anzeige
AW: Letzter Versuch
10.08.2025 17:18:40
TomBrady
Du machst mir ja Hoffungen, so viel Zeit habe ich nicht mehr
AW: Vektorisieren!
09.08.2025 20:12:58
TomBrady
Oh ja Yal,
das ist schon eine Herausforderung.
Aber wie gesagt eine Annäherung wenn man büffelt und Coden kann.

Witzig ist auch das Österreichische Lotto eben.
Seid 1986 gibt es dieses Lotto und seid 2011 zusätzlich die LottoPlus Ziehung.
Beide werden am selben Tag gespielt, aber auf 2 unterschiedlichen Ziehungsgeräten, die aber genau gleich sind!
Nur bei Lotto werden 7 Zahlen gezogen und bei LottoPlus 6 Zahlen.
Wenn man die Zahlen vergleicht über das gesamte JAHR....z.B. nur 2025 kommt erschreckend hervor, die Zahlen mit ZählenWenn sind fast IDENT und wow!
Also mit Lotto wie bei LottoPlus haben wir gesamt fast die gleichen Zahlen....komisch oder? Aber es sind auch die selben Ziehungsgeräte die gleich sind von der Bauart.
Also muss da eine LOGIK dahinter stecken.

Mein Büffeln oder Coden sollte nun heißen.....die Besten Zahlen kenne ich von jedem Jahr.
Aber dazu mit viel Coden und büffeln möchte ich einfach raus finden,....welche in den Rohdaten haben sich besonders lieb und kommen in EINER oder MEHREREN Zeilen am häufigsten vor wie z.B. eine 2 mag die 14 gerne wie die 17 und 18 usw.
Also das ist die knifflige Aufgabe ohne manuell da mit Formatierungen zu arbeiten.
Es ist mir schon klar das zwischen den Zahlen 1 bis 45 für jede Zeile ein Array oder Schleife eingebunden werden muss, weil sonst bekommt man ja nicht was ich will.
Endergebnis sollte einfach sein.....es wurden 3000 Zeilen überprüft mit den Zahlen 1 bis 45 und die Zahlen was sich am meisten mögen sind in den Zeilen wären. MsgBox output.
Anzeige
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
09.08.2025 10:40:30
TomBrady
Ich danke natürlich für die aufregende Runde hier!

wusste natürlich, dass meine Frage etwas zu kompliziert ist.
Meine Anfrage war und ist kompliziert, dass ist mir bewusst.
Aber jetzt wieder zu Excel....ohne VBA geht das schon mal gar nicht.
Ich wollte ja nur, sag mir mit Ausgabe, welche Zahlen gemeinsam vorkommen in den 3000 Zeilen.
Er sagt mir dann was los ist und so schaut es aus.
Excel sagt mir dann, aus allen Zeilen die du mir gibst, sind die Besten diese Zahlen.
Aber ich wiederhole mich mit meiner Anfrage. Schade, weil es sicherlich 45 Schleifen braucht um das zu lösen.
JAVA macht mir was anderes, es ist halt nicht Excel....dem gebe ich die Lottozahlen was ich haben will und erledigt das pro Zeile in 1sec....
Das bringt mir natürlich nichts, weil Java einen anderen Index hat vom Generator.

Das Lottosystem wird keiner knacken, aber ich mag es mit Zahlen zu spielen die ich habe von 1986 bis 2025, obwohl die Zahlen von nur 2025 sind interessant.
Sprich, meine Excel Liste ist gefüllt mit all den Lottoziehungen....Jedes Jahr und ich wollte NUR wissen, welche Paarungen mögen sich so gern....eine 2 mit 16 oder einer 42 oder so....
Das war meine Frage, aber ich merke schon, ich muss mich da selber irgendwie schlau machen oder harte Arbeit machen ohne VBA.

LG TomBrady
Anzeige
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
09.08.2025 11:23:26
daniel
Was soll das jetzt?
Du hast doch einen VBA-Code zur Lösung des Problems bekommen.
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
09.08.2025 19:10:15
BoskoBiati
Hi,

JAVA macht mir was anderes,

dann würde ich vorschlagen, Du zeigst uns mal, wieJAVA das macht!

Gruß

Edgar
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
11.08.2025 12:50:02
velo
Ich schätze mal du bist der der gleiche TE wie hier:
https://www.herber.de/forum/archiv/2016to2020/2016286_Lottozahlengenerator_Oesterreich_mit_Zusatzzahl.html#2016286

Eine allgemeine Frage:
Ist es nicht völlig irrelevant und eine komplette Zeitverschwendung auszuwerten "welche Paarungen mögen sich so gern"?
Da du uns bisher leider noch nicht aufgeklärt hast für was die Auswertung wirklich gedacht ist (mich würde es brennend interessieren), glaube ich dir mal, dass du dich einfach gern mit Zahlen spielst. Wenn dass aber der Fall ist, dann würde ich dir raten dir ein anderes "Spielzeug" als Lotto zu suchen, zu ermitteln welche Muster am häufigsten vorkommen ist doch nur Kaffeesatzleserei.

Noch eine Frage:
Du redest hier und im o.g. Thread immer wieder von Java und erweckst den Anschein, dass du hiermit auch schon Erfahrung hast.
Wieso machst du das ganze dann über VBA, einer veralteten, langsamen und selbst von Microsoft stiefmütterlich behandelten Sprache? Wäre es dann nicht sinnvoll das Ganze gleich per Java zu lösen?

Ich würde mich über eine Antwort freuen :)

VG
velo
Anzeige
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
11.08.2025 20:50:37
TomBrady
Hallo velo,

ich mag Excel und du hast Dir eine Rückantwort gewünscht, was auch berechtigt ist.

Mir ist es bewusst, dass es sinnlos ist, was ich vor habe, aber ich will was versuchen und ich wiederhole mich natürlich wieder um es auf den Punkt zu bringen.

Ich rede nur vom Lottosystem Österreich mit 1 aus 45 und nicht vom DEUTSCHEN Lottosystem, okay?
Habe die ganzen Daten von 1986(Beginn) bis 2025
Seid 2011 gibt es auch eine LottoPlus Ziehung (aber nur 6 Zahlen)
Sprich: In Österreich wird am Mittwoch wie Sonntag gezogen und einmal im Monat auch am Freitag.

Es sind beim Lotto nur die ersten 6 Zahlen relevant für den tollen Gewinn und die 7.te Zahl ist nur die Zusatzzahl.
Die ist dann nur entscheidend, wenn man 3, 4 oder 5 Zahlen aus den ersten 6 Kugeln hat....
Das nennt man man dann einen 3er, 4er, 5er mit Zusatzzahl und somit entscheidet die 7.te Kugel nicht über einen Sechser!

Zudem gibt es noch JOKER, aber das ist für mich nicht wichtig!

Wichtig ist mir dabei gewesen.....es werden 2mal mit 2 Ziehungsgeräten gezogen.
Ziehungsgerät 1 ist gleich wie Ziehungsgerät 2 (genau gleich)
Also im ORF haben wir zwei gleiche Ziehungsgeräte okay?
Ziehungsgerät1 macht hintereinander 7 Zahlen (die ersten 6 Zahlen ermitteln den Lottosechser und die 7.te Zahl wie oben beschrieben)
Ziehungsgerät2 macht 6 Zahlen (nennt man LottoPlus in Österreich) Gewinn ist natürlich mit 100.000 bis ca.350.000 gering.

Aber nun hab ich alle Daten, Zahlen und mir ist was spannendes aufgefallen!!!
Wenn ich das Jahr 2025 vergleiche mit Ziehungsmaschine1 wie Ziehungsmaschine2 kommen fast die selben Zahlen dabei raus.
(ich meine damit die ganzen Zahlen mit ZählenWenn ausgewertet ohne VBA)
Es hat mich etwas erschreckt selber, weil egal welches Jahr, ob 2025 oder 2024 usw....die Zahlen waren fast gleich!

Darum wurde ich so blöd hier meine Frage zu stellen, um mehr raus finden zu können.
Es werden mich einige wieder total fertig machen hier, weil es sinnlos ist....ja, aber ich will mich "annähern"

Du hast ich auf Java angesprochen, Ja, eine bestätigte Frage....aber wir sind hier bei Excel und ich mag Excel wie Word usw.
Java ist sehr schnell z.B.....schreibst ein kleines Coderl, echt klein und der sagt dir dann wann ein Treffer kommen könnte....aber weil ich keinen Einfluss habe auf den LOG von Java....ist nur eine spielerei eben.

Was Bernd und Yal mir geschickt hat, war eine Lösung die sehr komplex ist, aber funktioniert.
Es geht nur im Grunde darum, dass ich VBA Excel total mag und nicht veraltet ist....und ich mag wenn sich Leute so gut auskennen mit CODEN in Excel.

Früher hatte ich mal einen Prüfbericht erstellt, also auf den Button drücken....nach ein paar Sekunden war er druckfertig!
Das habe ich aber nur geschafft mit dem Team, die hier sich mit Excel auskennen....
Weil mein Chef hat mal gesagt, kannst du das machen und ich sagte ihm dazu habe ich keine Zeit....du wirst das schon schaffen und ich dachte mir, lec....mich doch.
Ich habe es geschafft aber nur mit so tollen Menschen die sich auskennen mit Excel und VBA Codes.....
wenn Ihr diesen Code lesen würdet, ihr würdet euch denken, das geht vielleicht einfacher, .....egal, der braucht ja nur sehr kurz und alles ist fertig.
Der Weg ist das Ziel oder?

Im Prinzip ist es ein Weg was ich angefragt habe, keine vollkommene Lösung und bitte nicht wieder böse auf mich sein, weil ich so viel schreibe....ich antworte, wenn es mir möglich ist.

Ich versuche immer mein Problem so genau zu beschreiben wie möglich.....

P.S hat noch jemand eine Frage?
Ich danke den Codern hier, was mir immer geholfen habe in vielen Dingen!

LG Tom (Tom weil meine email ausgelaufen ist, darum neuer Name, was vorher anders war)
Anzeige
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
09.08.2025 12:08:59
TomBrady
ich verstehe dich Daniel!
die Codes habe ich getestet und bringt mich nur zu "Zählenwenn" in Excel.
Diese Auwertungen habe ich ja schon für jedes Jahr.

Mein Problem ist halt anders wie nur so "einfache Dinge" wie Bedingte Formatierung usw.
Doppelte Zahlen in den Zeilen finden ......
Es braucht ein Programm, was 100 Zeilen überprüft mit Schleifen und mir am Ende sagt.
Aus den 100 oder 3000 Zeilen sind diese Zahlen gemeinsam und am häufigsten.
Es geht nicht um einen Lottogewinn! Es geht, sag mir was in 7 Spalten von A1:G3000 die Zahlen sind was am häufigsten vorkommen.

Ich meine damit gemeinsam!, also eine Schleife, die alles überprüft und mir dann sagt....aus 3000 Zeilen sind die Zahlen von 1 bis 45 gemeinsam, kommen gemeinsam vor und er sagt mir wie oft usw.

Das ich mich schon anecke im Team merke ich ja schon....aber keiner erkennt mein Problem.
Welche Zahlen komme am häufigsten vor GEMEINSAM in den 3000.....
Also würde ich erwarten, Excel gibt mir eine Ausgabe....die 3 16 20 42 kommen am häufigsten vor GEMEINSAM in den ZEILEN

Anzeige
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
09.08.2025 12:18:52
TomBrady
Ich habe die ganzen Zahlen vor mir beim Lotto, gepflegt in einer Excel.
Diese Daten und Zahlen sollen mir sagen welche Zahlen am häufigsten vorkommen in der Datenbank, GEMEINSAM
Ich will nicht wieder auf andere los gehen, weil ich so schlechte Meldungen bekomme.....
Das Ziel ist der Weg und nicht was nicht möglich ist.

Im Prinzip würde es so aussehen, ich überprüfe 3000 oder Zeilen, der überprüft es ob in einer Zeile das steht, wenn nicht geht er weiter
Das Problem ist nur, ich will nach endlosen Schleifen wissen, sag mir die Zahlen egal ob 2 oder 3 oder 4 oder 5, was am häufigsten vorkommen, GEMEINSAM
Das Zählenwenn ist eine tolle Sache....ich suche die Paarungen, was pro Zeile sehr beliebt sind.
Anzeige
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
09.08.2025 12:32:00
daniel
Genau das macht mein Makro.
Um die beliebteste Paarung zu finden, musst du die Ergebnisliste nur nach der zweiten Zeile sortieren.

Und mach bitte eine Beispieldatei mit ein paar Zeilen und zeige uns, welches Ergebnis du dir für diese Zeilen wünschst.
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
09.08.2025 13:27:17
TomBrady
Daniel du bist gut, kann dir ja da nicht die Lottozahlen sagen was ich mit VBA gemacht habe.
War ja mit VBA harte Arbeit.
Aber du verstehst mein Problem wie andere nicht ohne wieder der schlimme zu sein.
Knacken will ich gar nichts, aber ich will wissen von Excel, mit Schleife, wir machen ca.3000 Zeilen durch und am Endergebnis sollte dann stehen wie 2 20 usw. was am häufigste sind in allen Zeilen....ist das so schwer?
Eine einer reihe kannst vergessen, eine zweier Reihe kannst vergessen usw....
er soll mir sagen, diesen Zahlen kommen in den Zeilen XXX gemeinsam vor....
Die Besten gibt mir das System aus.....wird wohl nicht so schwer sein oder....es gibt 1 bis 45 und er sagt mir am Ende, die Treffer waren dann 2 17 29 usw....
Ist es so schwer zu verstehen und so ein einfacher VBA Code hilft dir nicht.
Anzeige
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
09.08.2025 17:28:11
daniel
Ja es ist schwer zu verstehen, was du will
Ich vermute mal, dass du selber nicht weißt was du willst.

Wie gesagt, Stelle ein Beispiel aus 10 Zeilen zusammen, du kannst die Zahlen auch selbst zusammenstellen damit es gemeinsame gibt und sage uns, welches Ergebnis das Makro für diese 10 Zeilen liefern soll.

Wenn du dazu nicht in der Lage bist, weißt du selber nicht was du haben willst und dann kann auch niemand ein Makro für dich schreiben.
Anzeige
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
09.08.2025 17:38:23
daniel
Ja es ist schwer zu verstehen, was du will
Ich vermute mal, dass du selber nicht weißt was du willst.

Wie gesagt, Stelle ein Beispiel aus 10 Zeilen zusammen, du kannst die Zahlen auch selbst zusammenstellen damit es gemeinsame gibt und sage uns, welches Ergebnis das Makro für diese 10 Zeilen liefern soll.

Wenn du dazu nicht in der Lage bist, weißt du selber nicht was du haben willst und dann kann auch niemand ein Makro für dich schreiben.
Anzeige
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
09.08.2025 12:24:31
daniel

Naja mein Code liefert dir alle Zahlenkombinationen und wie häufig sie vorkommen (im gezeigten Makro für die Kombination aus zwei Zahlen, aber das kannst du einfach erweitern auf drei oder vier

Um die häufigste Kombination zu finden, musst du das Ergebnis einfach sortieren.
Wenn du die Zeilen brauchst, in denen das vorkommt, dann lassen die sich auch einfach mitschreiben

Aber teste erstmal das Makro statt immer nur rumzuheulen

Oder mach dir mal die Mühe und erstelle ein Beispiel mit wenigen Zeilen so dass du es von Hans auszählen kannst und deinen Wunschergebnis fur dieses Beispiel


Anzeige
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
08.08.2025 20:02:59
daniel
also jetzt doch mal getestet, das muss korrigiert werden:

for s2 = s1 + 1 to ubound(Werte, 2)

und

Cells(1, 10).Resize(erg.Count) = Worksheetfunction.Transpose(X)

Gruß Daniel
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
08.08.2025 17:57:53
TomBrady
Ich bedanke mich mal für die Antwort!

aber das Problem ist sehr komplizierter und kann ohne VBA sicherlich nicht gelöst werden.

Ich will ja nicht suchen nach einer Zahl, sondern aus allen Zeilen die was zwischen 1 und 45 am häufigsten vorkommen.

Das ist etwas schwer zu beschreiben aber ich versuche es mal.

Zeile 1 hat die Zahlen: 5 7 9 20 38 42
Zeile 2 hat die Zahlen: 6 8 9 20 38 41
Zeile 3 usw. hat die Zahlen: 5 8 10 20 39 43

Also ich suche aus vielen Zeilen, was eine Schleife durchläuft, die Zahlen was in ALL den Zeilen was ich durchsuche am häufigsten vorkommen.

Also wenn ich sehr viele Zeilen habe, braucht es eine Schleife, was mir Zahlen von 1 bis 45 durchsucht und immer wieder und speichert.
In den 3000 Zeilen fanden wir die Zahlen von x x x was vorgekommen sind und x x x x was x mal vorgekommen ist usw.

Schwierig mein Problem zu beschreiben.
Wenn z.B. in den Zeilen, den 3000 Zeilen die Zahlen 1 und 42 gefunden werden, so speichern
Aber besser noch, wenn in den 3000 Zeilen die Zahlen 16,20,23 pro Zeile gefunden werden noch besser.
Die Ausgabe sollte mir nur sagen, aus den 3000 Zeilen, ...welche Zahlen sind da am häufigsten, gemeinsam.

Sollte in einer Zeile die Zahl 8, 12, 20, 24,39,42 vorkommen, ist mir das egal....ich will ob in den XXX Zeilen was Excel erlaubt wissen, welche Zahlen kommen pro Zeile am häufigsten vor gemeinsam.

Der Code braucht mir ja nur sagen, diese Zahlen in all den Zeilen kommen so oft gemeinsam vor und sind am häufigsten.



Anzeige
Lotto …
08.08.2025 18:19:36
RPP63
Moin!
Auch das österreichische Lotto lässt sich nicht mittels Statistik überlisten!
Wenn aus den bisherigen 3.000 Ziehungen die Kombination 3 und 13 am häufigsten war, heißt das
• weder, dass die Kombi gern zukünftig häufiger kommt,
• noch, dass sie erst mal "warten" wird, weil bereits "verbraucht".
Die KI meldet mir zur Wahrscheinlichkeit im Schluchten-Lotto: ;)

Im österreichischen Lotto „6 aus 45“ wählst du 6 Zahlen aus einem Pool von 45. Die Gewinnwahrscheinlichkeiten hängen davon ab, wie viele Zahlen du richtig tippst. Hier sind die Wahrscheinlichkeiten für jede Gewinnklasse:

🎲 Gewinnwahrscheinlichkeiten im Lotto „6 aus 45“
Gewinnklasse Richtige Zahlen Wahrscheinlichkeit 1 zu ...
1. Rang (Jackpot) 6 Richtige 0,00000072 8.145.060
2. Rang 5 Richtige + Zusatzzahl 0,0000054 1.357.510
3. Rang 5 Richtige 0,000028 35.724
4. Rang 4 Richtige + Zusatzzahl 0,00013 7.754
5. Rang 4 Richtige 0,00065 1.476
6. Rang 3 Richtige + Zusatzzahl 0,0019 526
7. Rang 3 Richtige 0,0093 107
🧮 Hintergrund zur Berechnung
Die Gesamtanzahl möglicher Kombinationen für 6 aus 45 beträgt: $$ \binom{45}{6} = 8.145.060 $$

Die Zusatzzahl wird aus den verbleibenden 39 Zahlen gezogen und beeinflusst einige Gewinnklassen (z. B. 5+ZZ, 4+ZZ, 3+ZZ).


Gruß Ralf
(der offen lässt)
Anzeige
AW: Zeilen durchsuchen nach den am häufigsten Zahlen gemeinsam
08.08.2025 18:38:28
BoskoBiati
Hi TomBrady (oder vielleicht mckater?),

willst Du evtl. wissen wie oft es gleiche 3er, 4er oder 5er-Kombinationen in den x Zeilen gibt?
Dann solltest Du Dir eine Liste mit den möglichen Kombinationen machen (3er bei 45 Zahlen: 14190) und diese zählen.

Gruß

Edgar
Anzeige
AW: Lotto …
08.08.2025 18:30:07
TomBrady
Das ist eine schöne Auflistung von Ihnen,

aber das löst ja mein Problem nicht.....
Die Auflistungen habe ich selber schon ausgewertet wie von Ihnen angegeben.
(mit den Formeln in Excel usw....der Taschenrechner ist da super geeignet dafür)

Mir geht es ja nur um das Problem und nicht um das Lotto.
Ich denke wir sind 2025 und ich denke Excel sollte das wohl schaffen können??
Anzeige
Ich denke wir sind 2025 und ich denke Excel sollte das wohl
08.08.2025 19:10:00
RPP63
Du denkst zu viel!
Allein in der Threaderöffnung 5 oder 6-mal …
Ach so:
Wir sind nicht 2025, sondern viel weniger!
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18