Herbers Excel-Forum - das Archiv
Schablone ... oder ähniches;)

|
Betrifft: Schablone ... oder ähniches;)
von: Christian
Geschrieben am: 12.12.2006 14:11:50
Hallo!!!
stehe vor einem kleinen Problem, da ich denke, dass diese Pro's sehr einfach lösen können.
Problem: Habe ein List mit über 500 Objekten, welche alle einen bestimmten Code haben (8stelliger Code); z.B. 12453133.
Jetzt möchte ich jedoch nach den Objekten suchen, deren Code bestimmten Kriterien entsprechen bzw. eine bestimmte Schablone besitzen.
z.B. eine Schablone: 12??3??? (in Worten: Ziffer eins ist "1"; Ziffer zwei ist "2"; Ziffer fünf ist "3")
Bezogen auf den obrigen Code oder auch Zahl: 12453133 würde dann ein JA oder 1 ausgegeben.
Wäre die Zahl z.B. 13332021 würde ein NEIN ausgegeben.
Habe - damit einfacher zu verstehen - noch ein XLS angehängt.
Freu' mich auf Eure Hilfe!!! Danke
https://www.herber.de/bbs/user/38906.xls
Betrifft: AW: Schablone ... oder ähniches;)
von: EtoPHG
Geschrieben am: 12.12.2006 14:45:08
Hallo Christian,
Deine Art von Suchen mit Platzhaltern geht nur in Text-Feldern.
Mit Autofilter gings in etwa so:
https://www.herber.de/bbs/user/38911.xls
Gruss Hansueli
Betrifft: AW: Schablone ... oder ähniches;)
von: Christian
Geschrieben am: 12.12.2006 14:51:39
vielen Dank für die Vorab-Info.
Über den Auto-Filter hab ich so auch schon erkannt...
aber würde es am liebsten über SVERWEIS lösen... gibt es da keine Möglichkeiten?
Betrifft: AW: Schablone ... oder ähniches;)
von: HermannZ
Geschrieben am: 12.12.2006 15:10:02
Hallo Christian;
geht auch mit Formel;
Beispiel;
|
Versuch |
| A | B | 196 | | gesuchte Kombi. | 197 | | 12??5? | 198 | 124456 | ja | 199 | 135526 | nein | 200 | 193890 | nein | 201 | 12455133 | ja | 202 | | | Formeln der Tabelle | B198 : =WENN(ISTFEHLER(SUCHEN($B$197;A198;1));"nein";"ja")
B199 : =WENN(ISTFEHLER(SUCHEN($B$197;A199;1));"nein";"ja")
B200 : =WENN(ISTFEHLER(SUCHEN($B$197;A200;1));"nein";"ja")
B201 : =WENN(ISTFEHLER(SUCHEN($B$197;A201;1));"nein";"ja")
|
|
|
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen Excel Jeanie HTML 3.0 Download
Gruß HermannZ
Betrifft: AW: Schablone ... oder ähniches;)
von: EtoPHG
Geschrieben am: 12.12.2006 15:38:19
Hallo Christian,
Die Routine von Heinz ist (sorry für das Wort) ein bissche primitiv, weil statisch.
Wenn Du diese in ein Modul einfügst, kannst Du PVERWEIS wie SVERWEIS benutzen. Im Suchkriterium gibst Du dein Muster mit ? als Platzhalter für 1 Stelle an.
Public
Function PVerweis(Suchkriterium As String, Matrix As Range, Optional Spaltenindex As Double = 0) As String
Application.Volatile
Dim cCell As Range
For Each cCell In Matrix
If cCell.Value Like Suchkriterium Then
PVerweis = cCell.Offset(0, Spaltenindex).Text
Exit Function
End If
Next
PVerweis = "#NV"
End Function
Gruss Hansueli
Betrifft: AW: Schablone ... oder ähniches;)
von: Christian
Geschrieben am: 12.12.2006 15:41:11
Ich nehme an, dass das wohl die "eleganteste" Lösung ist.
Kann/Könnte mir jemand das bereits in ein XLS einfügen bzw. kurz erläutern wie das Handling dafür ist?
Betrifft: AW: Schablone ... oder ähniches;)
von: EtoPHG
Geschrieben am: 12.12.2006 16:02:28
Hallo Christian,
Das säh dann so aus:
https://www.herber.de/bbs/user/38914.xls
Gruss Hansueli
Betrifft: AW: Schablone ... oder ähniches;)
von: Christian
Geschrieben am: 12.12.2006 16:23:47
Wunderbar.. ich glaube.. das dient genau meinem Zweck.
Nur noch - wie erwähnt - eine operative Frage: Meine XLS-Version hat die Funktion pVerweis noch nicht implementiert. Wie füge ich diese hinzu?
Worin besteht der Unterschied zwischen SVerweis und PVerweis?
Super Dank!
Betrifft: AW: Schablone ... oder ähniches;)
von: EtoPHG
Geschrieben am: 12.12.2006 16:37:06
Hallo Christian,
Wie füge ich diese hinzu?
In Deiner Arbeitsmappe:
Alt-F11 (Öffnet VBE)
Menu - Einfügen - Modul
Ins leere CodeFenster diesen Text kopieren:
Option Explicit
Public Function PVerweis(Suchkriterium As String, Matrix As Range, Optional Spaltenindex As Double = 0) As String
Application.Volatile
Dim cCell As Range
For Each cCell In Matrix
If cCell.Value Like Suchkriterium Then
PVerweis = cCell.Offset(0, Spaltenindex).Text
Exit Function
End If
Next
PVerweis = "#NV"
End Function
Ab dann kannst Du die Funktion
=PVerweis(suchstring, bereich, [spaltenindex]) in jeder Zelle brauchen.
Worin besteht der Unterschied...
PVerweis, habe ich geschrieben, als UDF (user defined function) und ist gratis !!
SVerweis, ist von Microsoft...
Funktional besteht der Unterschied darin, dass Du bei Pverweis ein Muster mit Platzhaltern als Suchstring angeben kannst.
Gruss Hansueli
Betrifft: AW: Schablone ... oder ähniches;)
von: Christian
Geschrieben am: 12.12.2006 16:46:18
Oh ok.. super! Viel gelernt.
Noch eine Frage/Option. Ist es nun nur möglich, dass ich nach einem Textstring "12????" die Abfrage mache, oder kann ich auch dafür mehrere Werte; sprich eine matrix verwenden?
ps: das nächste Mal überweise ich auch;)
Nochmals vielen Dank!
Betrifft: AW: Schablone ... oder ähniches;)
von: EtoPHG
Geschrieben am: 12.12.2006 16:53:07
Hallo Christian,
einem Textstring "12????" ... eine matrix verwenden?
Im Moment nur für eine Suchkriterium (wie Sverweis).
Bei Eingang der ersten Mittel, wende ich mich gern einer Realisierung mit mehreren Suchkriterien ;-)
Gruss Hansueli
Betrifft: AW: Schablone ... oder ähnliches;)
von: haw
Geschrieben am: 12.12.2006 14:58:10
Hallo Christian,
ich würde es über eine eigene Funktion lösen:
Function CodeOK(Zahl As Long) As Boolean
Dim Z1%, Z2%, Z5%
Z1 = Mid(CStr(Zahl), 1, 1) * 1
Z2 = Mid(CStr(Zahl), 2, 1) * 1
Z5 = Mid(CStr(Zahl), 5, 1) * 1
If Z1 = 1 And Z2 = 2 And Z5 = 3 Then CodeOK = True
End Function
Gruß Heinz
Betrifft: AW: Schablone ... oder ähnliches;)
von: Christian
Geschrieben am: 12.12.2006 15:00:41
Hmm... klingt sehr, sehr gut...
nur wie füge ich diese ein?
Betrifft: AW: Schablone ... oder ähnliches;)
von: haw
Geschrieben am: 12.12.2006 15:11:58
Hallo Christian,
den Code in ein Standardmodul.
In der Tabelle ist die Funktion so zu verwenden, wie eine Standardfunktion.
z.B. ab A2 stehen deine Zahlen. Dann in B2: =CodeOK(A2) (und natürlich nach unten kopieren).
Als Ergebnis ergibt sich eben WAHR oder FALSCH.
Die Schablone muss natürlich nach Bedarf angepasst werden (wenn also nicht die erste, zweite und fünfte Zahl überprüft werden sollen, sondern andere)
Gruß Heinz