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

SVERWEIS, jedoch nur nicht ausgeblendete

Forumthread: SVERWEIS, jedoch nur nicht ausgeblendete

SVERWEIS, jedoch nur nicht ausgeblendete
04.07.2008 17:02:18
Peter
Guten Tag
Ich mache eine Abfrage mit SVERWEIS. Dabei möchte ich, dass nur eingeblendete Werte in Spalte Inventar!B:B berücksichtigt werden.
Alle Werte werden berücksichtigt mit
SVERWEIS(AE2;Inventar!B:B;1;FALSCH)
Wie kann ich die ausgeblendeten Werte ausschliessen?
Danke für eine Antwort
Gruss, Peter

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Dein SVERWEIS() ergibt wenig Sinn ...
04.07.2008 17:46:22
neopa
Hallo Peter,
... für mich, denn der bedeudet, dass Du den Suchwert wieder ausgibt, wenn dieser gefunden wird.!?
Außerdem fehlt eine Fehlerprüfung für den Fall, dass der Suchwert nicht gefunden wird. Zur besseren Veranschaulichung meines Formelvorschlags habe ich mein Beipiel etwas abgewandelt und suche den Wert aus einer 2. zugeordneten Spalte
Was meinst Du mit ausgeblendeten Werten? Ich habe XL2002, da kann man formelmäßig nur ausgefilterte Zeilen abefangen (keine ausgeblendeten) In XL2003 geht das mW auch mit ausgeblendeten Zeilen gehen. Dann anstelle versuch in meiner Formel anstelle ... TEILERGEBNIS(3;... TEILERGEBNIS(103;...
Formel in C1 ergibt den Ergebniswert, wenn Filterungen (Ausblendungen) nicht berücksichtigt werden. Formel in D1 berücksichtigt diese und in Formel E1 ist noch die Fehlerprüfung vorgeschaltet.
Inventar

 ABC
1FilterWertNr
2a5I_01
3a10I_02
5a15I_04


Tabelle1

 ABCDE
1 15I_03I_04I_04
215    

Formeln der Tabelle
ZelleFormel
B1=Inventar!B4
C1=SVERWEIS(A2;Inventar!B2:C99;2;)
D1{=SVERWEIS(A2;WENN(TEILERGEBNIS(3;INDIREKT("Inventar!A"&ZEILE(Inventar!2:99)))>0;Inventar!B2:C99); 2;)}
E1{=WENN(ISTZAHL(VERGLEICH(A2;WENN(TEILERGEBNIS(3;INDIREKT("Inventar!A"&ZEILE(Inventar!$2:$99)))>0;Inventar!B2:B99))); SVERWEIS(A2;WENN(TEILERGEBNIS(3;INDIREKT("Inventar!A"&ZEILE(2:99)))>0;Inventar!B2:C99); 2;); "?")}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...

Anzeige
AW: Dein SVERWEIS() ergibt wenig Sinn ...
04.07.2008 17:55:00
Peter
Hallo Werner
Das ist tatsächlich so, dass ich den Suchwert wieder ausgeben will. Ich frage nämlich ab, ob im Inventar eine bestimmte Währung vorkommt und wenn das der Fall ist, muss zu dieser Währung ein Kurs dazu.
Im Inventar habe ich allerdings alle Zeilen ausgeblendet, wo zwar eine Position aufgeführt ist, jedoch kein Wert enthält. Deshalb brauche ich die Erweiterung.
Ich habe auch eine Fehlerprüfung, aber die habe ich nicht mitgeliefert, da für die Problemlösung meines Erachtens nicht nötig.
Wie mein letzter Eintrag zeigt, hoffe ich in der Zwischenzeit, dass es eine VBA Lösung gibt, denn ich habe auch keine Formel gefunden, mit der ich abfragen kann, ob eine Zelle (Zeile) ausgeblendet ist oder nicht.
Gruss, Peter

Anzeige
AW: Dein SVERWEIS() ergibt wenig Sinn ...
04.07.2008 18:07:57
Chris
Servus Peter,
probier mal:
Public Function SV(rFinde As Range, Suchstring As String) Dim rSuche As Range Set rSuche = rFinde.Find(what:=Suchstring, LookAt:=xlWhole, LookIn:=xlValues, MatchCase:=True) If Not rSuche Is Nothing Then SV = rSuche Else SV = "" End If End Function


Eingabe in die zelle:
=SV(C:C;"Suchstring als Text") z.B.: Suchstring = "$"
Gruß
Chris

Anzeige
AW: Ach so...
04.07.2008 18:54:35
Chris
... die Function kommt in ein allgemeines Modul (Alt+F11, Modul einfügen, etc.)
Gruß
Chris

AW: Ach so...
04.07.2008 23:06:00
Peter
Hallo Chris
Das hat mir mein Problem gelöst.
Vielen Dank, Peter

AW: bitte owT
04.07.2008 23:25:00
Chris
.

Anzeige
na die Formel müsste dann doch nur ...
04.07.2008 18:12:00
neopa
Hallo Peter,
... leicht modifiziert werden:
=SVERWEIS(A2;WENN(TEILERGEBNIS(3;INDIREKT("Inventar!A"&ZEILE(Inventar!2:99)));Inventar!B2:B99);1;)
bzw. eben in XL2003 =SVERWEIS(A2;WENN(TEILERGEBNIS(103;INDIREKT("Inventar!A"&ZEILE(Inventar!2:99)));Inventar!B2:B99);1;)
Nur der Korrektheit halber: in der Fehlerprüfung meiner zuletzt in E1 dargestellten Formel hatte sich ein kleiner Fehler eingeschlichen. Richtig sollte si so lauten
=WENN(ISTZAHL(VERGLEICH(A2;WENN(TEILERGEBNIS(3;INDIREKT("Inventar!A"&ZEILE(Inventar!$2:$9))); Inventar!B2:B9);));SVERWEIS(A2;WENN(TEILERGEBNIS(3;INDIREKT("Inventar!A"&ZEILE(2:9)));Inventar!B2:C9) ;2;);"?")
Aus Deiner VBA -Frage halt ich mich raus.
Gruß Werner
.. , - ...

Anzeige
AW: na die Formel müsste dann doch nur ...
04.07.2008 23:08:27
Peter
Hallo Werner
Vielen Dank für deinen Beitrag.
Da die bei mir auszuwertenden Zeilen ein paar Tausend sind, habe ich mich diesmal für die VBA Lösung entschieden.
Gruss, Peter

AW: Code umbauen?
04.07.2008 17:47:00
Peter
Guten Tag
Beim Stöbern auf Herber habe ich folgende Funktion gefunden, mit dem SVERWEIS Abfragen gemacht werden können, ohne dass leere Zellen berücksichtigt werden.
Ich habe versucht, "keine leere Zellen" durch "nicht ausgeblendet" auszuwechseln.
Da war ich aber zweimal nicht erfolgreich - beide Male ist mein Excel File abgestürzt.
Kann mir jemand beim "Umbau" helfen?
Danke, Peter

Function NoEmptysVL(vSearch As Variant, rngSearch As Range, iCol As Integer) As Variant
Dim iRow As Integer
For iRow = 1 To rngSearch.Rows.Count
If rngSearch.Cells(iRow, 1).Value = vSearch And Not IsEmpty(rngSearch.Cells(iRow, iCol))  _
Then
NoEmptysVL = rngSearch.Cells(iRow, iCol).Value
Exit Function
End If
Next iRow
NoEmptysVL = "#NV"
End Function


Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

SVERWEIS für nicht ausgeblendete Werte in Excel nutzen


Schritt-für-Schritt-Anleitung

Um den SVERWEIS in Excel so anzupassen, dass nur nicht ausgeblendete Werte berücksichtigt werden, kannst du folgende Schritte befolgen:

  1. Öffne deine Excel-Datei und wechsle zu dem Arbeitsblatt, in dem du den SVERWEIS verwenden möchtest.

  2. Erstelle eine neue Funktion in einem Modul, um ausgeblendete Zeilen zu ignorieren. Drücke ALT + F11, um den VBA-Editor zu öffnen. Wähle Einfügen > Modul und füge den folgenden Code ein:

    Public Function SV(rFinde As Range, Suchstring As String)
       Dim rSuche As Range
       Set rSuche = rFinde.Find(what:=Suchstring, LookAt:=xlWhole, LookIn:=xlValues, MatchCase:=True)
       If Not rSuche Is Nothing Then
           SV = rSuche
       Else
           SV = ""
       End If
    End Function
  3. Verwende die Funktion in deiner Excel-Tabelle. In der Zelle, in der du das Ergebnis haben möchtest, gebe die Formel ein:

    =SV(C:C;"Suchstring als Text")

    Ersetze "Suchstring als Text" mit dem spezifischen Wert, den du suchen möchtest.


Häufige Fehler und Lösungen

  • Fehler: #NV
    Wenn du den Fehler #NV erhältst, kann das bedeuten, dass der Suchwert nicht in der angegebenen Spalte gefunden wurde. Überprüfe, ob der Wert tatsächlich vorhanden ist und ob du die richtige Spalte durchsucht hast.

  • Excel stürzt ab
    Wenn Excel beim Ausführen der Funktion abstürzt, kann es an der Größe des Datenbereichs oder an einer fehlerhaften VBA-Implementierung liegen. Stelle sicher, dass du mit einer kleineren Datenmenge testest und den Code auf mögliche Fehler überprüfst.


Alternative Methoden

Eine alternative Methode, um nicht ausgeblendete Werte zu filtern, ist die Verwendung der TEILERGEBNIS-Funktion in Kombination mit SVERWEIS. Hier ist eine Beispiel-Formel:

=SVERWEIS(A2;WENN(TEILERGEBNIS(3;INDIREKT("Inventar!A"&ZEILE(Inventar!2:99)));Inventar!B2:B99);1;)

Diese Formel funktioniert ab Excel 2003 und filtert die ausgeblendeten Zeilen aus.


Praktische Beispiele

Angenommen, du hast eine Liste von Währungen in Spalte A und die zugehörigen Kurse in Spalte B. Wenn du nur die Währungen, die nicht ausgeblendet sind, abfragen möchtest, kannst du die oben dargestellten Methoden verwenden.

  1. Datenbeispiel:

    Währung Kurs
    USD 1.10
    EUR 0.90
    JPY 115
  2. Verwendung der SVERWEIS-Funktion:

    =SVERWEIS("USD";Inventar!A:B;2;FALSCH)

Diese Formel gibt dir den Kurs für USD zurück, sofern USD nicht ausgeblendet ist.


Tipps für Profis

  • Matrixformeln: Wenn du mit großen Datenmengen arbeitest, nutze Matrixformeln, um die Performance zu verbessern. Drücke STRG + SHIFT + ENTER, um die Formel als Matrixformel abzuschließen.

  • Verwendung von Namen: Definiere benannte Bereiche für deine Daten, um die Formeln übersichtlicher zu gestalten und die Verwaltung von Daten zu erleichtern.


FAQ: Häufige Fragen

1. Kann ich die Funktion auch in Excel 2010 verwenden?
Ja, die vorgestellten Methoden und VBA-Funktionen sind auch in Excel 2010 anwendbar.

2. Was ist der Unterschied zwischen TEILERGEBNIS(3;...) und TEILERGEBNIS(103;...)?
TEILERGEBNIS(3;...) ignoriert ausgeblendete Zeilen, während TEILERGEBNIS(103;...) auch die ausgeblendeten Zeilen berücksichtigt.

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