Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

In welcher Reihe die meisten Übereinstimmungen
#1
Hallo,

ich habe eine Zahlenreihe (Spalte A bis T) bestehend aus 20 Zahlen des weiteren
habe ich eine Tabellenblatt mit 2500 Zahlenreihen je aus 20 Zahlen (Spalte AA bis AT)

Ich würde gerne abgleichen in welcher Zahlenreihe aus den 2500 Zahlenreihen die meisten Übereinstimmungen mit der erstgenannten
Zahlenreihe bestehen, so dass mir die Anzahl der Treffer angezeigt wird und die dazugehörige Zeilennr..

Ich finde leider keine Lösung dafür  Huh und wäre für jede Hilfe dankbar.
Lediglich habe ich es hinbekommen, dass die jeweilige Zahl der doppelten Werte neben der Vergleichsreihe ausgegeben wird. Allerdings bei der Gesamtzahl der Reihen ist es müßig jedes mal über Filter die höchste
Zahl an doppelten Werte zu finden.

Ich habe die Tabelle mal auf 100 Datenreihen begrenzt.


.xlsx   Beispiel.xlsx (Größe: 399,43 KB / Downloads: 9)

Danke.
Antworten Top
#2
Hallo,
der Aufwand für ein passendes Makro sollte überschaubar sein. Dafür wäre aber sinnvoll:
- eine Beispieldatei
- Definition "Übereinstimmung": vorhanden oder an gleicher Position?
Gruß der AlteDresdner (Win11, Off2021)
[-] Folgende(r) 1 Nutzer sagt Danke an AlterDresdner für diesen Beitrag:
  • flicflac
Antworten Top
#3
Hallo,
ein erster Versuch:
Code:
Sub Vergleichen()
Const Vzeile = 101 'Zeile der Vergleichswerte
Const DatenZ = 2 'erste Zeile der Daten
Const Blatt = "Beispiel" 'dort stehen die Daten
'Daten in Spalten AA-AT, Vergleichswerte in Spalten A-T
'Übereinstimmung heißt: ist vorhanden
Dim Zeile As Long, DBlatt As Object, sp As Long, spD As Long
Dim Anzahl As Long, MaxZeile As Long, Merkanzahl As Long
  Set DBlatt = Sheets(Blatt)
  Zeile = DatenZ
  While Not IsEmpty(DBlatt.Cells(Zeile, 27))
    Anzahl = 0
    For sp = 1 To 20
      For spD = 27 To 46
        If Cells(Vzeile, sp) = DBlatt.Cells(Zeile, spD) Then Anzahl = Anzahl + 1
      Next spD
    Next sp
    If Anzahl > Merkanzahl Then
      Merkanzahl = Anzahl
      MaxZeile = Zeile
    End If
    Zeile = Zeile + 1
  Wend
  MsgBox "in Zeile " & MaxZeile & " gibt es die maximale Anzahl von " & Merkanzahl & " Übereinstimmungen."
  DBlatt.Activate
  Cells(MaxZeile, 27).Select
End Sub
Ich habe aber die Vergleichsdaten Deiner Datei wirklich ab Spalte A beginnen lassen und
Übereinstimmung heißt: Zahl aus vergleichsdaten kommt in den anderen Daten vor, unabhängig von Position. Deine Doppelt-Zählung konnte ich nicht nachvollziehen...
Gruß der AlteDresdner (Win11, Off2021)
Antworten Top
#4
Moin

Lösung mit PQ und mit Formeln.


Angehängte Dateien
.xlsx   clever-excel-forum_32249.xlsx (Größe: 74,15 KB / Downloads: 6)
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste