Zeilen abrufen, deren Wert auf keinem anderen Blatt zu finden ist

Zeilen abrufen, deren Wert auf keinem anderen Blatt zu finden ist

Ich versuche Folgendes zu tun. Ich habeBlatt1UndBlatt 2.

Auf einem dritten Blatt muss ich die Zeilen in Blatt 1 abrufen, in denen das INSTRUMENT von Blatt 1 nicht im FIM von Blatt 2 zu finden ist (da z. B. keines der INSTRUMENTE von Blatt 1 im FIM von Blatt 2 ist, würde Blatt 3 die Zeilen von Blatt 1 enthalten). Wie kann ich das machen? Danke

Antwort1

Nachschlagefunktionen wie VLOOKUP()können verwendet werden, um entweder den Nachschlagewert zu finden und daher ein Ergebnis zurückzugeben, oder ihn nicht zu finden und daher einen #FEHLER! zurückzugeben. Offensichtlich wird dies normalerweise in einem „positiven“ Sinne verwendet, um NACH einem Ergebnis zu suchen, aber man kann es auch in einem „negativen“ Sinne verwenden, um NICHT nach einem Ergebnis, sondern nach dem #FEHLER! zu suchen.

ISERROR()Man kann dann auch mit der Funktion auf das Vorhandensein eines #ERROR! testen . Manchmal IFERROR()kann es verwendet werden, aber in vielen Situationen ist IFERROR()der Mechanismus von nicht geeignet und dies ist eine davon. ISERROR()wird hier als ausgefeilteres verwendet NOT(). Wenn das INSTRUMENT dann nicht gefunden wird, IF()ist der Test erfolgreich, da er nach einem solchen Fehler sucht. Das WAHRE Ergebnis ist in diesem Fall der Wert der Nachschlagezelle. Wenn der Test fehlschlägt (INSTRUMENT existiert dort), wird "" zurückgegeben.

Dies geschieht mit der folgenden Formel:

=IF(ISERROR(VLOOKUP(A2:A9,$F$2:$F$5,1,FALSE)),A2:A9,"")

Wenn Sie über SPILLdie Funktionalität verfügen, benötigt nur die erste Zelle die Formel. Wenn nicht, fügen Sie sie in die erste Zelle ein und verwenden Sie {CSE}, um die ältere Methode zum Erstellen eines Arrays auszuführen.

Beachten Sie, dass die Formel Ergebnisse im gesamten Ausgabebereich enthält. Um sie zu gruppieren, müssen Sie sie sortieren, wobei die leeren Ergebnisse am Ende der Liste landen, damit sie weder die einfache Verwendung der Liste noch einfach ihr Erscheinungsbild beeinträchtigen, je nachdem, was Ihnen wichtiger ist.

Allerdings sortiert praktisch alles, was Sie für die vorhandenen Werte verwenden, wie das "" in der obigen Formel, selbst ein viel höheres Zeichen, wie UNICODE(160)das ein Leerzeichen wäre, immer noch an den Anfang der Liste. Sie können das auf viele Arten angehen, einschließlich Kopieren, dann Einfügen als Werte, dann Sortieren, aber um es mit einer Formel zu tun, sodass Sie nicht interagieren müssen, können Sie etwas wie das Folgende versuchen:

=SUBSTITUTE(SORT(IF(ISERROR(VLOOKUP(A2:A9,$F$2:$F$5,1,FALSE)),A2:A9,"ZZZZZZZZZZ")),"ZZZZZZZZZZ","")

Du verwendest eine Zeichenfolge, die immer bis zum Ende deiner Liste sortiert werden soll. In dieser Formel wird „ZZZZZZZZZZ“ verwendet. Dann SORT()zwingst du alle diese ans Ende und die, die du zuerst sehen willst, nach oben. Dann SUBSTITUTE()ersetzt du diese Zeichenfolge mit einem Leerzeichen, wie „“, und alle diese „verschwinden“ … Nicht wirklich natürlich, aber dem Anschein nach.

(Natürlich müssen Sie in der Formel, die Sie auswählen oder anpassen, echte Referenzen verwenden.)

verwandte Informationen