Ihre Frage ist etwas verwirrend: Möchten Sie jede Zeile entfernen, in der der Wert in B nicht mit dem Wert in A übereinstimmt, oder möchten Sie jede Zeile entfernen, in der der Wert in B nirgendwo in A vorhanden ist?
CLockeWork
Willkommen beim Superuser. Können Sie bitte Ihre Frage bearbeiten , um uns mitzuteilen, was Sie bisher versucht haben. Details sind wichtig. Teilen Sie uns daher auch mit, ob Sie nur die Werte in Spalte B oder die gesamte Zeile (die alle Spalten enthält) löschen möchten.
CharlieRB
Danke für die Hilfe an alle. Ich habe die unten angegebene Überprüfungsmethode verwendet, die meinen Anforderungen entspricht. Vielen Dank für alle Antworten. Ihr seid großartig :)
Sam
Antworten:
1
Sie könnten eine Spalte C mit so etwas wie einrichten: =IF(A1=B1;"OK";"KO")
Richten Sie dann den automatischen Filter ein, filtern Sie die Spalte C nach dem Wert KOund löschen Sie alle gefilterten Zeilen ...
Obwohl dies ein guter Weg zum Filtern ist, hat das OP gebeten, "alle Zeilen in Spalte B zu löschen".
CharlieRB
Die Frage ist unklar, dass IMHO ...
pataluc
Ich glaube, der OP wollte einen Fernblick. Um das zu tun, was Sie getan haben (etwas einfacher), können Sie einfach die EXACT-Funktion verwenden. = EXACT (A1, B1)
Skub
1
Sie möchten eine Formel wie diese und können dann die Zeilen nach "Ist es in COL1?" Sortieren. und löschen Sie sie. Entschuldigung, ich habe keine automatische Möglichkeit, die Zeilen zu löschen, ohne ein Makro dafür zu schreiben. Und ich habe noch keinen Kaffee bekommen ...
Das IF prüft, ob der Wert in der Suche ist. Der ISNA prüft auf "# N / A" (was bedeutet, dass er nicht gefunden wurde) und das NEIN / JA kehrt zu der Zelle zurück, basierend darauf, ob der IF wahr (ISNA) oder falsch (ein gefundener Wert) ist.
Hoffe das macht Sinn.
--EDIT: Die "$" (Dollarzeichen) im Bereich machen den Bereich klebrig. Es behält den gleichen Wert bei, unabhängig davon, ob Sie es in andere Zellen ziehen oder nicht. Das möchten Sie vielleicht wissen ...
In jedem Fall besteht das Beste, was Sie ohne VBA tun können, darin, die zu entfernenden Zeilen zu identifizieren und sie dann manuell zu entfernen.
Wenn Sie Zeilen entfernen möchten, in denen der Wert in B in A nicht vorhanden ist, können Sie einfach einen Countif verwenden:
In der Spalte prüfen fügen Sie einfach diese Formel: =COUNTIF($A$2:$A$8,B2)
Der feste Bereich die Reichweite Ihrer A - Säule ist, und Sie werden die Werte korrigiert werden muss , so dass es immer auf dem gleichen Bereich, natürlich mit einem Tisch suchen , können Sie ersetzen $A$2:$A$8mit[A]
Wenn Sie eine Zeile suchen möchten, in der der Wert in B nicht mit dem benachbarten Wert in A übereinstimmt, verwenden Sie die IF-Anweisung, die Sie von @pataluc erhalten haben:
Verwenden Sie in der Check-Spalte eine IF-Anweisung, =IF($A2=$B2,1,0)und wiederholen Sie diese, wenn Sie stattdessen eine Tabelle verwenden=IF([@[A]=[@[B],1,0)
Filtern Sie in beiden Beispielen die Tabellen nach dem Wert 0 in Prüfen, markieren Sie alle Zeilen und löschen Sie sie.
Antworten:
Sie könnten eine Spalte C mit so etwas wie einrichten:
=IF(A1=B1;"OK";"KO")
Richten Sie dann den automatischen Filter ein, filtern Sie die Spalte C nach dem Wert
KO
und löschen Sie alle gefilterten Zeilen ...Beispiel:
setze die Formel:
filtern, auswählen und löschen:
!
quelle
Sie möchten eine Formel wie diese und können dann die Zeilen nach "Ist es in COL1?" Sortieren. und löschen Sie sie. Entschuldigung, ich habe keine automatische Möglichkeit, die Zeilen zu löschen, ohne ein Makro dafür zu schreiben. Und ich habe noch keinen Kaffee bekommen ...
Das IF prüft, ob der Wert in der Suche ist. Der ISNA prüft auf "# N / A" (was bedeutet, dass er nicht gefunden wurde) und das NEIN / JA kehrt zu der Zelle zurück, basierend darauf, ob der IF wahr (ISNA) oder falsch (ein gefundener Wert) ist.
Hoffe das macht Sinn.
--EDIT: Die "$" (Dollarzeichen) im Bereich machen den Bereich klebrig. Es behält den gleichen Wert bei, unabhängig davon, ob Sie es in andere Zellen ziehen oder nicht. Das möchten Sie vielleicht wissen ...
quelle
In jedem Fall besteht das Beste, was Sie ohne VBA tun können, darin, die zu entfernenden Zeilen zu identifizieren und sie dann manuell zu entfernen.
Wenn Sie Zeilen entfernen möchten, in denen der Wert in B in A nicht vorhanden ist, können Sie einfach einen Countif verwenden:
In der Spalte prüfen fügen Sie einfach diese Formel:
=COUNTIF($A$2:$A$8,B2)
Der feste Bereich die Reichweite Ihrer A - Säule ist, und Sie werden die Werte korrigiert werden muss , so dass es immer auf dem gleichen Bereich, natürlich mit einem Tisch suchen , können Sie ersetzen$A$2:$A$8
mit[A]
Wenn Sie eine Zeile suchen möchten, in der der Wert in B nicht mit dem benachbarten Wert in A übereinstimmt, verwenden Sie die IF-Anweisung, die Sie von @pataluc erhalten haben:
Verwenden Sie in der Check-Spalte eine IF-Anweisung,
=IF($A2=$B2,1,0)
und wiederholen Sie diese, wenn Sie stattdessen eine Tabelle verwenden=IF([@[A]=[@[B],1,0)
Filtern Sie in beiden Beispielen die Tabellen nach dem Wert 0 in Prüfen, markieren Sie alle Zeilen und löschen Sie sie.
quelle