Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1940to1944
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

mehrfache Spalten

mehrfache Spalten
09.08.2023 18:15:51
Christian
Hallo,

kurze und einfache Frage, habe eine Tabelle mit 292 Zeilen und 601 Spalten.

Wie kann ich herausfinden ob es identische Spalten gibt und wenn ja, welche?

Mit identisch meine ich sowohl von den Inhalten als auch von der Reihenfolge identisch.

Kann mir da jemand helfen?

Und noch eine kleine Frage am Rande, ich bekomme wenn ich nach meinen Beiträgen suche nur noch die Beiträge seit März angezeigt, wie komme ich an die Älteren?


Danke
Christian

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mehrfache Spalten
09.08.2023 19:09:10
daniel
Hi
601 Spalten sind viele und du musst ja jede Spalte mit jeder Spalte, die rechts neben dieser Spalte steht, vergleichen und das über 292 Zeilen, das macht 180.000 * 292 zu vergleichende Einzelwerte, das wird aufwendig

was steht denn in den einzelnen Zellen drin? Zahlen oder Texte, wenn es Texte sind, wie lang sind die Texte?

als Praktikale Lösung fällt mit da erstmal folgendes ein:
1. falls deine Spalten keine eindeutige Überschrift haben, erstmal die Spaltennummer als feste Überschrift einfügen.
2. unterhalb der Tabelle alle Werte einer Spalte zu einem Text zusammenfassen (hierfür kannst du die Funktion Textkette oder TextVerketten verwenden.
3. sortiere dann die Tabelle nach dieser Zeile, in der alle Werte zusammengefasst sind.
4. vergleiche jetzt jede Zelle mit ihrer linken und rechten Nachbarzelle, um herauszufinden, ob sie ein Duplikat ist.

problematisch könnte hier bei Texten die Textlänge sein, eine Excelzelle kann maximal c.a. 32.000 Zeichen enthalten, die Verkettung einer Spalte darf also nicht länger sein.
dann müsstest du auch prüfen, ob die Sortierung auch so lange Texte korrekt berücksichtigt.

beim Sortieren musst du in den Optionen umschalten, dass Spalten sortiert werden sollen und nicht Zeilen wie normalerweise üblich.

Gruß Daniel

Anzeige
AW: mehrfache Spalten
09.08.2023 19:51:46
onur
Teste mal (ggf anpassen wegen Spaltenköpfen).
Private Sub CommandButton1_Click()

'Dim ti
'ti = Timer
Dim sp1, sp2, z, Spa1, Spa2
For sp1 = 1 To 601
For sp2 = sp1 + 1 To 601
Spa1 = WorksheetFunction.TextJoin("-", False, Range(Cells(1, sp1), Cells(292, sp1)))
Spa2 = WorksheetFunction.TextJoin("-", False, Range(Cells(1, sp2), Cells(292, sp2)))
If Spa1 = Spa2 Then
MsgBox "identisch: Spalten " & sp1 & " und " & sp2
End If
Next sp2
Next sp1
'MsgBox Timer - ti
End Sub

Der Code alleine braucht nur 3 sec.
Anzeige
mehrfache Spalten
09.08.2023 20:27:06
Christian
Hallo Onur,

ich verstehe dein Makro leider nicht zu 100%, ein paar Fragen habe ich, die ich bitte zu beantworten:
1. Der Prüfung If Spa1 = Spa2 Then entnehme ich, dass wenn keine Msg Box kommt, keine identischen Spalten da waren?
2. Der Schleife For sp2 = sp1 + 1 To 601 entnehme ich dass jeweils nur mit der Spalte rechts nebendran verglichen wird?
3. Wenn dem so ist, müsste dann nicht erst die Tabelle so sortiert sein, dass sicher identische Spalten auch nebeneinander stehen?

Jedenfalls läuft dieses Makro bei mir ohne zu meckern durch, habe aber in der Zwischenzeit auch alle Duplikate die ich mit Daniels Methode gefunden habe, entfernt.

Viele Grüße und danke
Christian


Anzeige
mehrfache Spalten
09.08.2023 21:01:09
daniel
Hi
1. ja. allerdings bekommst du bei diesem Code, wenn alle Spalten gleich sind, 180.000 Messageboxen

2. nein, es wird mit allen rechts daneben liegenden Spalten verglichen, aber nicht mehr mit den links daneben liegenden Spalten.
wenn du vorher schon geprüft hast, ob A = B ist, brauchst du nicht mehr zu prüfen, ob B = A ist.
wenn sp1 = 1 ist, läuft sp2 von 2 bis 601
wenn sp1 = 2 ist, läuft sp2 von 3 bis 601
wenn sp1 = 3 ist, läuft sp2 von 4 bis 601
usw


3. nein, die Tabelle muss hier nicht sortiert sein, weil jede Spalte mit jeder anderen Spalte 1x verglichen wird.

Gruß Daniel
Anzeige
Gerne !
09.08.2023 21:30:48
onur
Daniel hat ja alle Fragen bereits beantwortet.
Statt MsgBoxen würde ich, vor Allem wenn viele Gleiche erwartet werden, eine Liste nehmen (den Code alle gleichen Paare untereinander auflisten lassen).
Gerne !
10.08.2023 10:12:39
Christian
Hallo onur,

Es geht rein um Fehlersuche, on sich Fehler eingeschlichen haben. Im optimalfall sind also gar keine doppelten da. Jetzt im aktuellen Fall waren 7 doppelt.

Gruß Chris
mehrfache Spalten
09.08.2023 21:08:53
Christian
Hallo Daniel,

danke für die Erklärung.
Zum ersten Punkt, das würde mir dann auch ohne Makro auffallen denke ich.

Gruß
Christian
AW: mehrfache Spalten
09.08.2023 19:31:45
Christian
Hallo Daniel,

ok, dass mit der Datenmenge könnte problematisch sein, da gebe ich dir recht. Aber du hast mich mit deinem Beitrag auf eine Idee gebracht und zwar da ich ja wie du sagst auch nach Zeilen sortiern kann, kann ich ja dann Nachbarspalten vergleichen anstatt jede mit jeder Spalte. Und ich habe 2 bestimmte Zeilen gefunden, bei denen ich sagen kann, wenn diese identisch sind, sind zu 99,9% auch die ganze Spalte identisch und dafür müsste dann ja einfach die Formel (Beispiel) UND(A1=B1;A2=B2) reichen und schaun wo sie WAHR ausgibt.


Ich sehe jetzt erstmal keinen Grund warum das auf dem Weg nicht klappen sollte, falls doch nicht melde ich mich nochmal.

Danke auf jeden Fall
Christian

PS: Kannst du auch was zu der Suche nach meinen Beiträgen sagen?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige