Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1032to1036
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
Inhaltsverzeichnis

sverweis Frage

sverweis Frage
30.12.2008 15:01:40
Dieter
Hallo zusammen,
ich habe eine Frage zum sverweis:
wenn in der zu suchende Matrix in mehreren Zellen das zu suchende Argument vorkommt, wird ja der Wert vom ersten gefundenen Argument ausgegeben. Gibt es auch eine Möglichkeit, dass alle Werte ausgegeben werden, die das Suchkriterium erfüllen?
Bsp:
eine Datei enthält einen Kalender: Zelle A3:A... enhält das Datum, Zelle B3:B... führt die Aktivitäten auf.
in der zweiten Datei werden in Zelle A3:A... beliebige Datumsangaben gemacht und in B3 dann die Aktivitäten.
Ist es möglich in der ersten Datei alle Aktivitäten zb. am 02.01. dann in einer Zelle wiederzugeben? (mit & oder durch Zeilenumbrüche getrennt etc)

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: sverweis Frage
30.12.2008 15:34:00
Dieter
hi Bertram,
leider nicht.
Grüße
das ist ja ne ganz tolle Antwort
30.12.2008 15:43:06
WF
.
AW: das ist ja ne ganz tolle Antwort
30.12.2008 15:53:40
Dieter
ich habe hier schnell eine kleine datei erstellt:
https://www.herber.de/bbs/user/57964.xls
in der zelle b2 auf dem ersten tabellenblatt soll nicht nur xy als ergebnis erscheinen, sondern xy und www
besten dank
grüße
AW: geht doch mit der Formel
30.12.2008 17:26:00
Erich
Hallo Dieter,
das geht im Prinzip durchaus mit den Formeln in http://www.excelformeln.de/formeln.html?welcher=28
also dem, was Bertram dir gepostet hatte.
Hier die Formel ein wenig umgestrickt für Spalten.
 ABC
201.01.2009xywww

Formeln der Tabelle
ZelleFormel
B2{=WENN(SPALTEN($B:B)>ZÄHLENWENN(einträge!$A:$A;$A2); "";INDEX(einträge!$B:$B; KKLEINSTE(WENN(einträge!$A$1:$A$1000=$A2;ZEILE($1:$1000)); SPALTE()-1)))}
C2{=WENN(SPALTEN($B:C)>ZÄHLENWENN(einträge!$A:$A;$A2); "";INDEX(einträge!$B:$B; KKLEINSTE(WENN(einträge!$A$1:$A$1000=$A2;ZEILE($1:$1000)); SPALTE()-1)))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen

Wenn sowohl xy als auch www in B2 stehen soll, müsstest du schon genauer schreiben, wie.
(xywww oder xy / www oder xy, www oder ...)
Aber vielleicht kannst du das Zusammenfügen in eine Zelle ja jetzt selbst erledigen.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: das ist ja ne ganz tolle Antwort
31.12.2008 11:49:00
Daniel
Hi
wenn alle gefundenen Einträge in der gleichen Zelle erscheinen sollen und nicht bekannt ist, wieviele Einträge es gibt, dann wirds mit Formeln alleine wahrscheinlich kompliziert.
Einfacher ist es da, sich selber per Makro eine benutzerdefinerte Funktion zu schreiben, die den SVerweis nach deinen Wünschen modifiziert.
hier der Code dazu:

Public Function SVerweisAlle(SuchBegriff As String, _
SuchMatrix As Range, _
Spalte As Integer, _
Optional TrKZ As String = "") As String
Dim arr
Dim i As Long
Dim Ergebnis As String
arr = SuchMatrix
For i = 1 To UBound(arr)
If arr(i, 1) = SuchBegriff Then
Ergebnis = Ergebnis & TrKZ & arr(i, Spalte)
End If
Next
If Len(Ergebnis) > 0 Then Ergebnis = Mid(Ergebnis, Len(TrKZ) + 1)
SVerweisAlle = Ergebnis
End Function


diesen Code kopierst du und fügst ihn folgendermassen ein:
- klicke EXTRAS - MAKRO - VISUALBASIC EDITOR
- im Editor klickst du EINFÜGEN - MODUL
- hier fügst du den kopierten Code in das neu geöffnete Fenster ein.
dadurch hast du eine neue Excel-Funktion erhalten, die du wie jede andere Excelfunktion auch verwenden kannst.
Die neue Funktion heißt "SVerweisAlle" und hat 4 Parameter.
die ersten 3 entsprechen den ersten 3 Parametern des normalen SVerweisen (Suchbegriff, Suchmatrix und Spalte), der 4 Parameter ist das Trennzeichen, mit dem die Ergebnisse innerhalb der Zelle getrennt werden. Um als Trennzeichen einen Zeilenumbruch einzugeben musst du die Formel "Zeichen(10)" verwenden.
für dein Beispiel sähe die Formel dann so aus:


=SVERWEISalle(A2;einträge!A3:B7;2;ZEICHEN(10))


Gruß, Daniel

Anzeige
Prima!Endlich mal 'ne udF, Daniel! Prost NJ! owT
01.01.2009 05:37:04
Luc:-?
:-?
Aber er hat doch recht, er kann's halt nicht...
31.12.2008 07:05:00
Luc:-?
..."anpassen", Walter... ;-)
Eure Seite richtet sich doch idR an den formelgeübten Nutzer und das scheint Dieter trotz seiner Fragestellung nun mal nicht zu sein. So toll das Alles auch ist, was man mit Excelformeln so anstellen kann, die tägliche Praxis der großen Mehrheit dürfte das glatt ignorieren (mangels Zeit, Interesse, Verständnis oder warum auch immer). Da nutzt dann die ganze Magie nichts... ;-)
Deshalb wäre es längst an der Zeit gewesen, dass MS die Fktausstattung von xl auch in allgemeineren Bereichen wesentlich stärker nachrüstet als es mit xl12 der Fall ist. Oder man schreibt halt udF... ;-)
Über Praxistauglichkeit von Formeln wird da übrigens gerade eine Diskussion in einem anderen Forum geführt... ;-)
Guten Rutsch!
Luc :-?
Besser informiert sein!
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige