Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
912to916
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
912to916
912to916
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Sverweis oder Index oder Kombination

Sverweis oder Index oder Kombination
02.10.2007 22:09:53
John
Hallo!
Hier ist ein kleiner Teilauschnitt einer Tabelle1 (~3000 Datensaetze)
...
6015237 200304 200406 1
6015497 200506 200805 12
6015586 200604 200903 12
6015586 200304 200603 12
...
In einer anderen (Teil-)Tabelle2 habe ich nur die erste Spalte (6015237, 6015586, ...), moechte aber die restlichen Spalten zuordnen koennen. Deshalb habe ich das Ganze per Sverweis geloest:
VLOOKUP(A1,TABELLE1!$A$2:$AO$1294,2,TRUE)
Jetzt stosse ich aber auf das Problem, dass Werte die ich vergleiche in der Tabelle1 zwei- oder gar dreimal vorkommen. Mit dem SVerweis bekomme ich aber nur einen Eintrag in Tabelle2 uebertragen.
Wie koennte ich das Problem am Besten loesen?
Vielen Dank schon mal! :)

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

Betreff
Datum
Anwender
Anzeige
AW: Sverweis oder Index oder Kombination
02.10.2007 22:50:44
maletz
erstens mal vorsicht mit dem TRUE in sverweis
falls ein wert mal nicht in der liste ist, bekommst du den nächstkleineren
weiter,
Sverweis kann immer nur ein ergebnis liefern
WIE soll den das ergebnis bei doppelten einträgen sein?
evtl. wäre es eine lösung die erste liste mit einem anzahl der vorkommen je wert zu erweitern
6015237.1 200304 200406 1
6015497.1 200506 200805 12
6015586.1 200604 200903 12
6015586.2 200304 200603 12
und dann in der folge-tabelle das expliziet suchen.
oder ich lös es oft so, dass ich in der ersten die anzahl der vorkommnisse je wert zähle
und diese zahl dann auch mit sverweis in der folge-tabelle abbilde,
so sieht man, dass man manuell eingreifen muss.
gruss
markus

Anzeige
AW: Sverweis oder Index oder Kombination
03.10.2007 00:33:16
Daniel
Hi
wenn du den SVerweis mit 4. Parameter = True verwendest, sollte folgendes erfüllt sein:
1. deine Datensätze sind sortiert
2. du bist dir sicher, nur existierende Suchwerte zu verwenden.
ist ein Suchwert in der Liste nicht vorhanden, gibt es keine Fehlermeldung, sondern es wird der nächstkleinere Wert zurückgegeben.
Wichtig zu wissen:
kommen Suchwerte in der Liste mehrfach vor, so gibt der S-Verweis mit TRUE den letzen Wert zurück (den mit der grössten Zeilen-Nr), der S-Verweis mit FALSE dagegen liefert immer den ersten (kleinste Zeilen-Nr)
mit diesem Wissen und der Eigenschaft, daß der Vergleich ähnlich wie der SVERWEIS funktioniert, könntest du dir folgendermassen helfen:
1. mit der ZählenWenn-Funktion feststellen, wie oft der Wert überhaupt vorkommt.
2. die Funktion: =index(TABELLE1!$A$2:$AO$1294;vergleich(A1;TABELLE1!$A$2:A$1294;1);2)
liefert den 1. Wert (grösste Zeilen-Nr) der 2. Spalte (das entspricht dem SVERWEIS)
die Funktion: =index(TABELLE1!$A$2:$AO$1294;vergleich(A1;TABELLE1!$A$2:A$1294;1)-1;2)
liefert entsprechend den 2. Wert
die Funktion: =index(TABELLE1!$A$2:$AO$1294;vergleich(A1;TABELLE1!$A$2:A$1294;1)-2;2)
liefert entsprechend den 3. Wert
usw.
allerdings musst du immer mit Zählenwenn gegenprüfen, ob überhaupt ein gültiger Wert vorhanden ist, sonst liefert dir diese Funktion einen Wert, der gar nicht dazugehört.
Gruß, Daniel

Anzeige
AW: Sverweis oder Index oder Kombination
03.10.2007 00:33:17
Daniel
Hi
wenn du den SVerweis mit 4. Parameter = True verwendest, sollte folgendes erfüllt sein:
1. deine Datensätze sind sortiert
2. du bist dir sicher, nur existierende Suchwerte zu verwenden.
ist ein Suchwert in der Liste nicht vorhanden, gibt es keine Fehlermeldung, sondern es wird der nächstkleinere Wert zurückgegeben.
Wichtig zu wissen:
kommen Suchwerte in der Liste mehrfach vor, so gibt der S-Verweis mit TRUE den letzen Wert zurück (den mit der grössten Zeilen-Nr), der S-Verweis mit FALSE dagegen liefert immer den ersten (kleinste Zeilen-Nr)
mit diesem Wissen und der Eigenschaft, daß der Vergleich ähnlich wie der SVERWEIS funktioniert, könntest du dir folgendermassen helfen:
1. mit der ZählenWenn-Funktion feststellen, wie oft der Wert überhaupt vorkommt.
2. die Funktion: =index(TABELLE1!$A$2:$AO$1294;vergleich(A1;TABELLE1!$A$2:A$1294;1);2)
liefert den 1. Wert (grösste Zeilen-Nr) der 2. Spalte (das entspricht dem SVERWEIS)
die Funktion: =index(TABELLE1!$A$2:$AO$1294;vergleich(A1;TABELLE1!$A$2:A$1294;1)-1;2)
liefert entsprechend den 2. Wert
die Funktion: =index(TABELLE1!$A$2:$AO$1294;vergleich(A1;TABELLE1!$A$2:A$1294;1)-2;2)
liefert entsprechend den 3. Wert
usw.
allerdings musst du immer mit Zählenwenn gegenprüfen, ob überhaupt ein gültiger Wert vorhanden ist, sonst liefert dir diese Funktion einen Wert, der gar nicht dazugehört.
Gruß, Daniel

Anzeige
AW: Selbstgeschriebenene Funktion
03.10.2007 12:47:00
Daniel
Hi
hier ne kleine selbstgeschriebene SVerweis-Funktion , mit der du das Problem lösen kannst

Public Function SVerweisMulti(Suchbegriff As String, Suchmatrix As Range, _
Spalte As Byte, Optional Rückgabe As Byte = 0) As Variant
'Funktionalit wie SVERWEIS mit 4. Parameter = 0
'Ausnahme: 4. Parameter "Rückgabe"
'Rückgabe = 0 oder Fehlt: es werden alle gefundenen Ergebnisse in eine Zelle geschrieben
'                          die Werte werden durch einen Zeilenumbruch getrennt
'Rückgabe = n ( n>=1  ): es wird der n-te gefundene Wert zurückgegeben
Dim arr
Dim Erg As String
Dim i As Long
Dim Zähler As Long
arr = Suchmatrix
For i = 1 To UBound(arr, 1)
If arr(i, 1) Like Suchbegriff Then
Zähler = Zähler + 1
Select Case Rückgabe
Case 0, Zähler
Erg = Erg & arr(i, Spalte) & Chr(10)
Case Else
End Select
End If
Next
If Erg = "" Then
SVerweisMulti = "nicht gefunden"
Exit Function
End If
Erg = Left(Erg, Len(Erg) - 1)
If IsNumeric(Erg) Then
SVerweisMulti = CDbl(Erg)
Else
SVerweisMulti = Erg
End If
End Function


Gruß, Daniel

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige