Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: SVERWEIS nur auf sichtbare Autofilter-Ergebnisse

SVERWEIS nur auf sichtbare Autofilter-Ergebnisse
27.03.2018 15:16:12
Joachim
Hallo zusammen,
ich bitte um Hilfe bei folgender Fragestellung mit einer Kalkulationsdatei.
Userbild
Im angefügten Screenshot (Datei geht nicht - aus Sicherheitsgründen) seht ihr zunächst den unteren Bereich des ersten Blattes. Hier ist unten ein Autofilter gesetzt; derzeit ca. 3.300 Zeilen, zukünftig bis zu 10.000 Zeilen. Nach rechts insgesamt ca. 100 Spalten; jedes Feld mit teils komplexen Formeln. Davon gibt noch 5 weitere Sheets, die mit diesem ersten verbunden sind.
Da das Filtern und berechnen sehr lange dauert und die abzuspeichernde Datei sehr groß wird (180 MB als xlsb; im RAM knapp 3 GB), soll die Datei für Kalkulationszwecke schneller und kleiner gemacht werden.
Daher soll man nur in diesem ersten von 6 Sheets im unten Bereich eine Artikelauswahl per Autofilter treffen und nur diese paar ausgewählten Artikel sollen in den oberen Bereich zur Bearbeitung übertragen werden. In den anderen 6 Sheets gibt es diesen riesigen unteren Bereich nicht mehr, nur noch den kleinen oberen Bereich.
Habe ich gemacht, Ziel erreicht. ABER: ich bekomme nicht hin, dass die unten ausgewählten Artikel bei gesetztem Autofilter automatisch oben erscheinen. Das geht nur, wenn ich im unteren Bereich jeder Zeile eine feste laufende Nummer in Spalte A gebe, diese oben an gleicher Stelle manuell eintrage und über SVERWEIS nach rechts auffüllen lasse.Das manuelle Eintragen soll wegfallen, da es den Anwender nicht zumutbar ist.
Habe schon unteren Bereich mit der AGGREGAT-Funktion bei Lfd. Nr. gearbeitet. Dann werden zwar die sichtbaren Zellen in Spalte A sauber durchnumeriert, aber die unsichtbaren auch, sodass die Nummern doppelt vorhanden sind und Fehler im SVERWEIS entstehen.
Sorry für soviel Text, aber einfacher konnte ich es nicht erklären.
Vielen Dank für eure Hilfe.
Gruß Joachim
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: da kommt es auf 1ne Hilfssp. mehr nicht an ...
27.03.2018 17:29:20
...
Hallo Joachim,
... und in dieser schreibe folgende Formel wie =WENN(TEILERGEBNIS(103;A33);ZEILE();"") und kopiere diese nach unten. Nun ermittle Deine Werte mit folgender nach rechts und unten zu kopierender Formel:
(=)WENN(ZEILE(A1)>MAX([Hilfsspaltenbereich];"";INDEX($A:$DZ;KKLEINSTE([Hilfsspaltenbereich];ZEILE(A1));SPALTE())
Gruß Werner
.. , - ...
Anzeige
AW: da kommt es auf 1ne Hilfssp. mehr nicht an ...
29.03.2018 12:24:19
Joachim
Hallo Werner,
vielen Dank für Deine Hilfe und diese Formel. Das ist eine große Hilfe und - wow - darauf wäre ich nie gekommen.
Deine erste Formel habe ich hoffentlich verstanden, sie liefert mir immer die richtige Zeilennummer im unteren Bereich und prüft auf ggf. nicht belegte/benutzte Zeilen, die dann keine Nummer erhalten. Ich habe eine kleine Modifikation vorgenommen, denn ich lasse über die Formel die Zeilennummer in A33 abwärts eintragen und benutze für die Prüfung die vorhandene Spalte M, sodass meine Formel in A33 abwärts heißt:
(=)WENN(TEILERGEBNIS(103;M11);ZEILE();"")
Zur zweiten Formel. Ich musste mit den Klammern noch etwas arbeiten, sodass sich in Zelle A11 folgende Formel ergibt, die dann autogefilterten Zeilen in A11 abwärts einträgt:
(=)WENN(ZEILE(A1)>MAX($A$33:$A$3270);"";INDEX($A:$DZ;KKLEINSTE($A$33:$A$3270;ZEILE(A1));SPALTE()))
Dazu habe ich Fragen:
- ich möchte wegen besserer Übersichtlichkeit den unteren Bereich (ab Zeile 32 abwärts) in ein neues Blatt (Name: AUSWAHL)verschieben. Dann müssen sich auch die Bezüge in der Formel ändern. Da ich aber ehrlich gesagt die Formel nicht ganz verstanden habe, bitte ich Dich nochmals um Hilfe. Dies hier habe ich selbst verbrochen, es funktioniert schon mal nicht:
(=)WENN(ZEILE(Auswahl!A1)>MAX(Auswahl!$A$11:$A$3248);"";INDEX(Auswahl!$A:$DZ;KKLEINSTE(Auswahl!$A$11:$A$3248;ZEILE(Auswahl!A1));SPALTE()))
Nochmals ganz herzlichen Dank für die Unterstützung.
Beste Grüße
Joachim
Anzeige
AW: da kommt es auf 1ne Hilfssp. mehr nicht an ...
29.03.2018 14:37:37
Joachim
Hallo Werner,
mit etwas Muße und Konzentration habe ich es nun selbst in den Griff bekommen.
Nochmals vielen Dank für diese phantastische Unterstützung.
Beste Grüße und Frohe Ostern
Joachim
AW: hatte vorhin nicht aktualisiert ...
29.03.2018 15:15:57
...
Hallo Joachim,
... deshalb sah ich diesen Deinen Beitrag erst jetzt.
Dann ist ja jetzt alles gut. mein Hinweis von vorhin: "=WENN(ZEILE(A1)..." hast Du schon gelsen?
Gruß Werner
.. , - ...
Anzeige
AW: im Prinzip wäre Deine Anpassung korrekt, ...
29.03.2018 14:50:44
...
Hallo Joachim,
... vorausgesetzt die Hilfsspaltenformel: =WENN(TEILERGEBNIS(103;M11);ZEILE();"") steht in Auswahl!$A11 und wird von da nach unten kopiert und die Auswertungsformel steht in der richtigen Spalte.
Ausreichend wäre übrigens für diese anstelle =WENN(ZEILE(Auswahl!A1)... einfach =WENN(ZEILE(A1)...
Gruß Werner
.. , - ...
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

SVERWEIS nur auf sichtbare Autofilter-Ergebnisse


Schritt-für-Schritt-Anleitung

  1. Hilfsspalte erstellen: Füge in deiner Excel-Tabelle eine Hilfsspalte ein (z.B. in Spalte A). Verwende die Formel:

    =WENN(TEILERGEBNIS(103;M11);ZEILE();"")

    Diese Formel gibt die Zeilennummer für sichtbare Zellen zurück, basierend auf dem Autofilter.

  2. Formel für die Werte: In der Zelle, wo die Ergebnisse erscheinen sollen (z.B. A11), nutze folgende Formel:

    =WENN(ZEILE(A1)>MAX($A$33:$A$3270);"";INDEX($A:$DZ;KKLEINSTE($A$33:$A$3270;ZEILE(A1));SPALTE()))

    Diese Formel wird die gefilterten Daten aus dem unteren Bereich in den oberen Bereich übertragen.

  3. Anpassung der Formeln: Solltest Du den unteren Bereich in ein neues Blatt (z.B. "AUSWAHL") verschieben, passe die Formeln entsprechend an, z.B.:

    =WENN(ZEILE(AUSWAHL!A1)>MAX(AUSWAHL!$A$11:$A$3248);"";INDEX(AUSWAHL!$A:$DZ;KKLEINSTE(AUSWAHL!$A$11:$A$3248;ZEILE(AUSWAHL!A1));SPALTE()))

Häufige Fehler und Lösungen

  • Fehlende Werte: Wenn die Formel keine Werte zurückgibt, überprüfe, ob die Hilfsspalte korrekt ausgefüllt ist. Stelle sicher, dass der Autofilter aktiv ist.

  • Doppelte Nummern: Wenn Du doppelte Nummern in der Hilfsspalte siehst, kann es daran liegen, dass unsichtbare Zellen ebenfalls gezählt werden. Stelle sicher, dass die Formel in der Hilfsspalte nur auf sichtbare Zellen angewendet wird.

  • Formel nicht funktionsfähig nach Verschiebung: Achte darauf, dass die Zellbezüge nach dem Verschieben des unteren Bereichs korrekt angepasst werden.


Alternative Methoden

  • AGGREGAT-Funktion: Nutze die AGGREGAT-Funktion, um nur auf sichtbare Zellen zuzugreifen. Zum Beispiel:

    =AGGREGAT(15;6;A$11:A$100/(A$11:A$100<>"");ZEILE(1:1))

    Dies hilft, nur die gefilterten Daten anzuzeigen.

  • Dynamische Arrays (Excel 365): Wenn Du Excel 365 verwendest, kannst Du die FILTER-Funktion nutzen, um nur gefilterte Daten anzuzeigen:

    =FILTER(A11:D100;M11:M100="DeinKriterium")

Praktische Beispiele

  • Beispiel 1: Wenn Du ein Lager verwaltest und nur die sichtbaren Artikel nach einem bestimmten Kriterium (z.B. Artikelgruppe) filtern möchtest, kannst Du die SVERWEIS-Formel in Kombination mit der Hilfsspalte verwenden.

  • Beispiel 2: Für eine Verkaufsanalyse, wo Du nur die Verkäufe von sichtbaren Produkten im Autofilter analysieren möchtest, kannst Du die oben genannten Formeln verwenden, um die Daten effizient zu verwalten.


Tipps für Profis

  • Verwendung von Namensbereichen: Nutze Namensbereiche für deine Daten, um die Formeln lesbarer zu gestalten und die Wartbarkeit zu erhöhen.

  • Fehlerüberprüfung: Verwende die Formel =WENNFEHLER() zusammen mit deinen SVERWEIS-Formeln, um Fehler bei nicht gefundenen Werten elegant zu behandeln.

  • Automatisierung mit VBA: Wenn Du häufig mit gefilterten Daten arbeitest, ziehe in Betracht, ein VBA-Skript zu schreiben, das diese Schritte automatisiert.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass meine Formel nur auf sichtbare Zellen angewendet wird?
Verwende die TEILERGEBNIS-Funktion in Kombination mit einer Hilfsspalte, um sicherzustellen, dass nur die sichtbaren Zeilen gezählt werden.

2. Kann ich SVERWEIS auch für mehrere Ergebnisse verwenden?
Ja, Du kannst die SVERWEIS-Funktion mit einer Kombination aus INDEX und VERGLEICH verwenden, um mehrere Ergebnisse zu erhalten. Alternativ kannst Du auch die FILTER-Funktion in Excel 365 nutzen.

3. Welche Excel-Version benötige ich für diese Funktionen?
Die beschriebenen Funktionen sind in Excel 2010 und höher verfügbar, jedoch bieten neuere Versionen wie Excel 365 zusätzliche Möglichkeiten, wie die Verwendung von dynamischen Arrays mit der FILTER-Funktion.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige