Zellvergleich - von rechts bis Vorkommnis x
Vergleich zweier Tabellen, etwas speziell
Morgen,
ich möchte zwei Tabellen vergleichen.
Die eine Tabelle enthält Dateinamen (Spalte A), die andere enthält die selben Dateinamen inklusive vollständigem Pfad (ebefnalls Spalte A).
Der Vergleich sollte daher in Tabelle 2 von rechts (hinten) ausgehen und lediglich bis zum ersten Vorkommnis des Zeichens "/" durchgeführt werden; die Anzahl der Zeichen variiert nämlich.
Sodann sollten alle ohne Übereinstimmung in Tabelle2 (derjenigen mit Pfadangabe) gekennzeichnet werden.
Gibt es hierfür eine elegante Formel oder ein Makro? Jemand eine Idee?
Vielen Dank!
F.
Morgen,
ich möchte zwei Tabellen vergleichen.
Die eine Tabelle enthält Dateinamen (Spalte A), die andere enthält die selben Dateinamen inklusive vollständigem Pfad (ebefnalls Spalte A).
Der Vergleich sollte daher in Tabelle 2 von rechts (hinten) ausgehen und lediglich bis zum ersten Vorkommnis des Zeichens "/" durchgeführt werden; die Anzahl der Zeichen variiert nämlich.
Sodann sollten alle ohne Übereinstimmung in Tabelle2 (derjenigen mit Pfadangabe) gekennzeichnet werden.
Gibt es hierfür eine elegante Formel oder ein Makro? Jemand eine Idee?
Vielen Dank!
F.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 106778
Url: https://administrator.de/forum/zellvergleich-von-rechts-bis-vorkommnis-x-106778.html
Ausgedruckt am: 21.04.2025 um 19:04 Uhr
6 Kommentare
Neuester Kommentar
Hallo LoveBoat!
Du könnterst das Herausfiltern des Dateinamens aus dem Pfad mit einer "Benutzerdefinierten Funktion" in VBA erledigen und dann mit einem ZÄHLENWENN die Überprüfung durchführen ...
Die "Function" in VBA:
Um diesen VBA-Code einzufügen:
Wenn Du bereits Makros verwendet hast, wird in "Extras / Makro / Sicherheit" vermutlich schon die Sicherheitsstufe auf "Mittel" gesetzt sein, ansonsten müsstest Du das noch nachholen, damit das Makro auch ausgeführt werden kann. Nach dieser Änderung muss Excel beendet und neu gestartet werden.
Die Formel in Excel:
Wie ersichtlich, geht diese Formel davon aus, dass die Dateinamen in den Zellen A1:A300 der "Tabelle2" gesucht werden sollen.
Grüße
bastla
Du könnterst das Herausfiltern des Dateinamens aus dem Pfad mit einer "Benutzerdefinierten Funktion" in VBA erledigen und dann mit einem ZÄHLENWENN die Überprüfung durchführen ...
Die "Function" in VBA:
Function DName(Pfad As String)
If InStrRev(Pfad, "\") > 0 Then
DName = Mid(Pfad, InStrRev(Pfad, "\") + 1)
Else
DName = Pfad
End If
End Function
- In der Tabelle mit den Pfadnamen auf das Registerblatt mit dem Tabellennamen rechtsklicken und "Code anzeigen" wählen,
- im darauf hin geöffneten VBA-Editor das Menü "Einfügen / Modul" verwenden, um ein neues Modul zu erstellen,
- in das (große) Code-Fenster des Moduls den obigen Code einfügen und
- den VBA-Editor schließen.
Wenn Du bereits Makros verwendet hast, wird in "Extras / Makro / Sicherheit" vermutlich schon die Sicherheitsstufe auf "Mittel" gesetzt sein, ansonsten müsstest Du das noch nachholen, damit das Makro auch ausgeführt werden kann. Nach dieser Änderung muss Excel beendet und neu gestartet werden.
Die Formel in Excel:
=WENN(ZÄHLENWENN(Tabelle2!$A$1:$A$300;DName(A1))=0;"X";"")
Grüße
bastla
Hallo LoveBoat!
Der Code stellt kein zu startendes Makro dar, sondern wird als Funktion "DName()" in der Formel eingesetzt - der Aufruf erfolgt damit automatisch dann, wenn das Formelergebnis (neu) berechnet wird.
Testen kannst Du das, indem Du in eine Zelle (nicht in Spalte A) der Tabelle mit den Pfaden nur eingibst
<code type="plain>=DName(A5)
Das Ergebnis der Formel sollte dann der Teil nach dem letzten "\" im Inhalt von A5 sein.
Wenn Deine Pfade erst ab A3 in Tabelle1 und die Dateinamen ab Zelle A4 in Tabelle2 stehen, dann eben in B3
Grüße
bastla
Der Code stellt kein zu startendes Makro dar, sondern wird als Funktion "DName()" in der Formel eingesetzt - der Aufruf erfolgt damit automatisch dann, wenn das Formelergebnis (neu) berechnet wird.
Testen kannst Du das, indem Du in eine Zelle (nicht in Spalte A) der Tabelle mit den Pfaden nur eingibst
<code type="plain>=DName(A5)
Das Ergebnis der Formel sollte dann der Teil nach dem letzten "\" im Inhalt von A5 sein.
Dazu vorallem: Wo muss die Formel rein in A1 Tabelle1 oder in A1 Tabelle2? Oder wo?
Weder noch - unter der Annahme, dass in A1 bereits der erste Dateipfad steht, war diese Formel für Tabelle1!B1 gedacht - damit soll neben der Zelle A1 ein "X" aufscheinen, wenn der aus dem Pfad extrahierte Dateiname nicht in den Zellen A1:A15000 der Tabelle 2 zu finden ist.Wenn Deine Pfade erst ab A3 in Tabelle1 und die Dateinamen ab Zelle A4 in Tabelle2 stehen, dann eben in B3
=WENN(ZÄHLENWENN(Tabelle2!$A$4:$A$15000;DName(A3))=0;"X";"")
bastla