Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: SVerweis nach Autofilter

SVerweis nach Autofilter
Hertel
Hallo Zusammen,
big Problem. Ich habe zwei Tabellenblätter angelegt. Auf dem einen werden verschiedenen Tätigkeiten über ein Mitarbeiterkürzel angelegt und anschließend ein Filter darauf gesetzt. Auf dem zweiten Tabellenblatt sind dann die realen Namen einschließlich dem Kürzel gespeichert.
Die ersten 5 Zeilen auf dem Tätigkeitentabellenblatt sind für Überschriften etc., vorgesehen. anschließend wurde eine Zeilenfixierung vorgenommen. In der ersten Zeile (Spalten wurden miteinander verbunden) soll dann der ermittelte Mitarbeiternamen angezeigt werden. Die Verknüpfung habe ich mittels SVerweis hergestellt.
Dies funktioniert nur einmalig, weil sobald ich eine Selektion durchführe, stimmt ja mein Zeilenbezug nicht mehr (z.B. Werte steht in Zelle B3, nach Selektion ist erste Zelle B365).
Wie kann ich trotzdem den Namen anzeigen lassen bzw. kann ich nach der Selektion eine Neunummeriung der Zeilen erzwingen?
Danke vorab
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: SVerweis nach Autofilter
17.04.2012 12:13:51
Rolf
Hallo Hertel,
kannst du mal eine abgespeckte Musterdatei zur Verfügung stellen?
Gruß, Rolf
AW: SVerweis nach Autofilter
17.04.2012 12:15:15
Rolf
Sorry, ich vergaß "!"
AW: SVerweis nach Autofilter
18.04.2012 06:52:05
Hertel
Hallo Leute,
danke für Eure Mails. Hier eine Beispieldatei zum besseren Verständnis, was ich benötige.
https://www.herber.de/bbs/user/79840.xlsx
Danke
Anzeige
AW: SVerweis nach Autofilter
18.04.2012 10:00:10
Rolf
Hallo Tim,
noch ein kleiner Tip am Rande.
Es lohnt sich oft, mit Bereichsnamen zu arbeiten; das macht das Makro flexibler.
Wenn du beispielsweise im Makro die Zelle "U1" ansprichst, zwischenzeitlich aber eine zusätzliche Spalte eingefügt hast, stimmt dieser Bezug nicht mehr. Hast du aber für "U1" z.B. den Namen "Tab1_lS" definiert, greift das Makro immer auf die richtige Zelle zu. In obigem Beispiel also Zelle "V1". Generell solltest du dem eigentlichen Namen ein Kürzel voranstellen, das die Tabelle definiert. Das erleichtert die Übersicht und vermeidet Duplikate bei mehreren Tabellen mit Bereichsnamen in der gleichen Datei.
Hilfreich ist auch, rechts neben bzw. unter dem Datenbereich eine Spalte/Zeile mit blauem Hintergrund zu formatieren und die Breite/Höhe auf 1 bis 2 mm zu reduzieren. In deinem speziellen Fall würde das Makro dann wie folgt aussehen (Die Bereichsnamen stehen in Zelle "U1" bzw. "A1201" der blauen Spalte bzw. Zeile):
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'löscht alle überflüssigen Zellen
Sheets("Tabelle1").Select
Tab1_lS = Range("Tab1_lS").Offset(0, 1).Address          ' Tab1_lS = Bereichsname
Tab1_lZ = Range("Tab1_lZ").Offset(1, 0).Address          ' Tab1_lZ = Bereichsname
Dim lS As String, lZ As String, Letzte As String
ActiveCell.SpecialCells(xlLastCell).Select
Letzte = ActiveCell.Offset(1, 1).Address
lS = Tab1_lS & ":" & Letzte & ""
lZ = Tab1_lZ & ":" & Letzte & ""
With ActiveSheet
.Range(lS).Delete
.Range(lZ).Delete
End With
Range("A1").Select
End Sub
Gruß, Rolf
Anzeige
AW: SVerweis nach Autofilter
18.04.2012 10:32:14
Hertel
Hallo Rolf,
danke für den VBA-Script. Leider bin ich nicht so tief in der Materie drin, als dass ich diese sofort verstehen kann.
Vielleicht erläutere ich mein Problem nochmal kurz:
zu Beginn beginnt meine Anzeige in der Zelle A6 (suchkriterium erfolgt über B6). Wenn ich einen Filter aktiviere, wird sich diese Position verändern (z.B a20). Jetzt funktioniert logischerweise mein SVerweis-Befehl um den Namen anzuzeigen nicht mehr, da der Bezug fehlerhaft ist.
Wie kann ich a) entweder die Zeilen neu nummerieren ab A6 oder b) welche Funktion kann ich benutzen um trotzdem den Inhalt der Zelle nach der Filterung auszulesen.
Danke und Gruß
Helmut
Anzeige
AW: SVerweis nach Autofilter
18.04.2012 10:43:19
Rolf
Sorry Helmut,
meine Antwort war eigentlich an Tim gerichtet. Ist versehentlich irgendwie in deinen Thread geraten.
Gruß, Rolf
SVerweis gefiltert
17.04.2012 13:20:20
WF
Hi,
als Beispiel:
Du willst den Wert aus Spalte A wenn in Spalte B erstmals 5 steht. Die Tabelle ist nach irgendetwas in Spalte C gefiltert (einige 5er in B sind also weg).
folgende Arrayformel:
{=INDEX(A:A;VERGLEICH(5;WENN(TEILERGEBNIS(2;INDIREKT("B"&ZEILE(1:999)));B1:B999);0))}
Salut WF
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

SVerweis nach Autofilter in Excel richtig nutzen


Schritt-für-Schritt-Anleitung

  1. Vorbereitung der Daten: Stelle sicher, dass Du zwei Tabellenblätter hast. Auf dem ersten Blatt trägst Du die Tätigkeiten mit den dazugehörigen Mitarbeiterkürzeln ein. Auf dem zweiten Blatt speicherst Du die realen Namen inklusive der Kürzel.

  2. Filter anwenden: Setze einen Autofilter auf die Tabelle mit den Tätigkeiten. Dies ermöglicht es Dir, nur bestimmte Daten anzuzeigen.

  3. SVerweis einfügen: In der Zelle, wo der Mitarbeitername angezeigt werden soll, verwende die SVerweis-Funktion. Ein Beispiel für den SVerweis wäre:

    =SVERWEIS(B6;Tabelle2!A:B;2;FALSCH)

    Hierbei steht B6 für das Mitarbeiterkürzel, Tabelle2!A:B für den Bereich, in dem die Daten auf dem zweiten Tabellenblatt gespeichert sind, und 2 gibt die Spalte an, aus der die Daten zurückgegeben werden sollen.

  4. Filter anpassen: Wenn Du den Filter aktivierst, wird die Position des gesuchten Wertes möglicherweise verschoben. Um sicherzustellen, dass der SVerweis weiterhin funktioniert, musst Du den Bezug dynamisch gestalten.


Häufige Fehler und Lösungen

  • Fehler: SVerweis liefert #NV zurück: Dies geschieht häufig, wenn der gesuchte Wert nicht im Quellbereich vorhanden ist oder der Filter die Daten verändert hat. Überprüfe, ob der Wert, den Du suchst, tatsächlich im gefilterten Bereich vorhanden ist.

  • Lösung: Nutze die Funktion TEILERGEBNIS: Um nur auf gefilterte Daten zuzugreifen, kannst Du die folgende Array-Formel verwenden:

    {=INDEX(A:A;VERGLEICH(5;WENN(TEILERGEBNIS(2;INDIREKT("B"&ZEILE(1:999)));B1:B999);0))}

    Diese Formel sucht den Wert 5 in Spalte B, auch wenn einige Zeilen durch den Filter ausgeblendet sind.


Alternative Methoden

Anstelle von SVerweis kannst Du auch die INDEX und VERGLEICH Funktionen in Kombination verwenden, um flexibler auf gefilterte Daten zuzugreifen. Diese Methode ermöglicht Dir, auch bei dynamischen Daten die richtigen Informationen zu ziehen.


Praktische Beispiele

Angenommen, Du hast die folgende Datenstruktur:

Kürzel Name
M1 Max Mustermann
M2 Maria Müller
M3 Hans Meier

Wenn Du nur die Daten für M1 sehen möchtest und der Filter aktiviert ist, kannst Du die oben genannte Array-Formel verwenden, um sicherzustellen, dass Du nur auf die gefilterten Daten zugreifst.


Tipps für Profis

  • Bereichsnamen verwenden: Verwende Bereichsnamen, um Deine Formeln übersichtlicher zu gestalten. Dies hilft, Fehler zu vermeiden, wenn Du die Struktur der Tabelle änderst.

  • Dynamische Bezüge: Überlege, dynamische Bezüge zu verwenden, um sicherzustellen, dass Deine SVerweis-Formeln auch nach dem Filtern der Daten weiterhin korrekt funktionieren.


FAQ: Häufige Fragen

1. Wie kann ich den SVerweis nur auf gefilterte Daten anwenden?
Verwende die Kombination aus INDEX und VERGLEICH in einer Array-Formel, um sicherzustellen, dass nur die sichtbaren (gefilterten) Daten berücksichtigt werden.

2. Was kann ich tun, wenn der SVerweis nicht funktioniert?
Überprüfe, ob der Wert, den Du suchst, im gefilterten Bereich vorhanden ist, und stelle sicher, dass der Datenbereich korrekt definiert ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige