SVERWEIS mit mehreren Ergebnissen in Excel VBA
Schritt-für-Schritt-Anleitung
Um mit SVERWEIS in Excel mehrere Ergebnisse zu finden und diese nebeneinander anzuzeigen, kannst du ein VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:
-
Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
-
Klicke auf Einfügen und dann auf Modul, um ein neues Modul zu erstellen.
-
Füge den folgenden VBA-Code ein:
Option Explicit
Public Function SVERWEIS2(Kriterium As String, Bereich As Range, SuchSpalte As Integer, ErgebnissSpalte As Integer, welcher_wert As Long) As String
Dim arrTmp
Dim arr() As String
Dim L As Long
Dim z As Long
z = 1
arrTmp = Bereich
For L = 1 To UBound(arrTmp)
If arrTmp(L, SuchSpalte) = Kriterium Then
ReDim Preserve arr(z)
arr(z) = arrTmp(L, ErgebnissSpalte)
z = z + 1
End If
Next
SVERWEIS2 = arr(welcher_wert)
End Function
-
Speichere dein Projekt und schließe den VBA-Editor.
-
Verwende die Funktion in einer Zelle, z.B.:
=SVERWEIS2(A1, B1:C20, 1, 2, SPALTE(A1))
In diesem Beispiel wird das Ergebnis in der Zelle angezeigt, basierend auf dem Kriterium in Zelle A1.
Häufige Fehler und Lösungen
-
Fehler: #WERT!
Dieser Fehler tritt auf, wenn das Kriterium nicht gefunden wird. Stelle sicher, dass der Suchwert korrekt ist.
-
Fehler: Überlauf
Wenn du versuchst, mehr Ergebnisse als das Array aufnehmen kann, kann ein Überlauf auftreten. Achte darauf, dass der ReDim Preserve-Befehl korrekt verwendet wird.
-
Lösung: Formate
Wenn die Ergebnisse nicht das richtige Format annehmen, überprüfe, ob die Zellen richtig formatiert sind (z.B. als Zahl oder Uhrzeit).
Alternative Methoden
Wenn du keine VBA-Lösung verwenden möchtest, kannst du auch folgende Methoden ausprobieren:
-
FILTER-Funktion: In neueren Excel-Versionen kannst du die FILTER-Funktion verwenden, um mehrere Ergebnisse zu filtern und anzuzeigen.
=FILTER(Bereich, Suchkriterium=B1)
-
Kombination mit INDEX und AGGREGAT: Diese Methode kann auch verwendet werden, um mehrere Ergebnisse zu finden und anzuzeigen.
Praktische Beispiele
Hier ist ein Beispiel, wie du mehrere Ergebnisse nebeneinander anzeigst:
Angenommen, du hast die folgende Tabelle:
| A |
B |
| 1 |
Ergebnis1 |
| 1 |
Ergebnis2 |
| 2 |
Ergebnis3 |
| 1 |
Ergebnis4 |
Verwende die Formel in Zelle C1:
=SVERWEIS2(1; A:B; 1; 2; SPALTE(A1))
Ziehe die Formel nach rechts, um die Ergebnisse in den Spalten D und E anzuzeigen.
Tipps für Profis
-
Verwende dynamische Bereiche: Um sicherzustellen, dass dein VBA-Code immer die aktuellen Daten nutzt, erwäge die Verwendung von dynamischen Bereichen.
-
Dokumentiere deinen Code: Kommentiere deinen VBA-Code, um die Funktionsweise zu erklären. Das hilft dir, später Anpassungen vorzunehmen.
-
Teste umfassend: Überprüfe deinen Code mit verschiedenen Daten, um sicherzustellen, dass er zuverlässig funktioniert.
FAQ: Häufige Fragen
1. Wie kann ich mehrere Ergebnisse nebeneinander anzeigen?
Verwende die Funktion SVERWEIS2 in Kombination mit SPALTE, um die Ergebnisse in verschiedenen Spalten anzuzeigen.
2. Was ist der Unterschied zwischen SVERWEIS und INDEX/VERGLEICH?
SVERWEIS ist einfacher anzuwenden, hat jedoch Einschränkungen bei der Suche nach Werten in linken Spalten. INDEX/VERGLEICH ist flexibler und kann in beiden Richtungen suchen.
3. Welche Excel-Version benötige ich für diese Funktionen?
Die beschriebenen Funktionen und Methoden sollten in den meisten modernen Excel-Versionen, einschließlich Excel 2010 und höher, funktionieren.