Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
300to304
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
300to304
300to304
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Umgekehrt suchen

Umgekehrt suchen
02.09.2003 13:15:42
Franz
Ich habe in den Zeilen 2 bis 5 verschiedene, durch Komma getrennte, Werte stehen (also z.B. in B2 "A, C, D, E", in B3 "A, D, E" in B4 "D, E" und in B5 nur noch "E").

Nun möchte ich mittels Suchen() ermitteln, in welcher Zeile z.B. "D" *zuletzt* auftaucht. Wenn ich aber {=wenn(suchen("D"; B2:B5)>0; ZEILE(2:5);0)} schreibe, bekomme ich immer die erste Fundposition, also Zeile 2 und nicht Zeile 4 als letzte Fundstelle angezeigt.

Gibt es eine Möglichkeit, mir die letzte Fundposition anzeigen zu lassen?

mfg

Thomas

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Umgekehrt suchen
02.09.2003 13:42:57
WernerB.
Hallo Franz und/oder Thomas,

markiere den zu durchsuchenden Zellbereich (nur innerhalb einer Spalte!) und starte dann dieses Makro:

Sub Franz_Thomas()
Dim Bereich As String, lo As String, ru As String, s As String
Dim zo As Long, zu As Long, i As Long
Dim sl As Integer
Application.ScreenUpdating = False
s = InputBox("Suchbegriff eingeben:", "Suchen")
If s = "" Then
MsgBox "Keine Eingabe !" & vbCr & vbCr & "Makro-Abbruch !", 0, _
"Dezenter Hinweis für " & Application.UserName & ":"
Exit Sub
End If
Bereich = Selection.Address(False, False)
lo = Left(Bereich, InStr(Bereich, ":") - 1)             'links oben
ru = Right(Bereich, Len(Bereich) - InStr(Bereich, ":")) 'rechts unten
zo = Range(lo).Row - 1                                  'Zeile oben
zu = Range(ru).Row                                      'Zeile unten
sl = Range(lo).Column                                   'Spalte links
For i = zu To zo Step -1
If InStr(Cells(i, sl).Text, s) > 0 Then
MsgBox "Suchbegriff '" & s & "' wurde in Zeile " & i & " gefunden !", _
vbOKOnly + vbInformation, _
"Suchergebnis für " & Application.UserName & ":"
Application.ScreenUpdating = True
Exit Sub
End If
Next i
MsgBox "Suchbegriff '" & s & "' wurde nicht gefunden !", _
vbOKOnly + vbInformation, _
"Suchergebnis für " & Application.UserName & ":"
Application.ScreenUpdating = True
End Sub

Viel Erfolg wünscht
WernerB.

P.S.: Das Forum lebt auch von den Rückmeldungen der Fragesteller (siehe dazu Forums-FAQ)!
Anzeige
AW: Umgekehrt suchen
02.09.2003 14:27:27
Thomas Franz
Klingt zwar gut und funktioniert sicher auch, ich hätte aber eine VBA-lose Lösung vorgezogen. Zur Not mach ich halt eine verschachtelte Wenn-Abfrage ...

mfg

Thomas
AW: instrRev(
02.09.2003 13:43:39
Nike
Hi,
ich würde es mal über VBA mit instrRev( versuchen.

Bye

Nike
SUCHEN von RECHTS
02.09.2003 15:14:37
Boris
Hi Thomas,

mit Array-Formel

{=VERGLEICH(WAHR;LINKS(RECHTS(A1;SPALTE($1:$1)))="D";0)}

findest du das erste D von RECHTS.

Demzufolge wäre die KLEINSTE Zahl dein gewünschtes Ergebnis.

{geschweifte Klammern} nicht eingeben, sondern Formeleingabe mit Strg-Shift-Enter abschließen.

Grüße Boris
Anzeige
AW: SUCHEN von RECHTS
02.09.2003 18:09:25
Thomas Franz
Die Formel ist sehr schön *gleich-in-Formelsammlung-aufnehm*, doch in meinem Fall unbrauchbar, da ich nicht die Position innerhalb einer Zelle die Zeile, in der der Wert als letztes auftaucht, benötige (es soll also erst in Zeile 5, dann Zeile 4, dann 3 und zum Schluß in 2 gesucht werden.

Hab mir inzwischen mit einer verschachtelten Wenn-Abfrage geholfen (blöde Begrenzung von 10 verschachtelten Klammern).

mfg

Thomas
10 Verschachtelungen in Folge?
02.09.2003 18:33:34
Boris
Hi Thomas,

...das will ich sehen - denn mir ist nur bekannt, dass bei 8 abslout Sense ist (also am Ende dürfen maximal 8 schließende Klammern hintereinander folgen).

Ansonsten hab ich dein Problem einfach noch nicht richtig verstanden, bin aber sich, dass es eine einfache Lösung OHNE Wenn-Verschachtelungen gibt, denn man kann wirklich zu 95% auf diese dämlichen WENN...WENN...WENN... verzichten...;-)

Grüße Boris
Anzeige
Lösung mit Matrixformel
02.09.2003 18:40:57
Martin Beck
Hallo Thomas,

=MAX(WENN(ISTZAHL(FINDEN("D"; B2:B5)); ZEILE(2:5);0))

Eingabe mit STRG-SHIFT-ENTER, nicht mit ENTER abschließen.

Gruß
Martin Beck
AW: Lösung mit Matrixformel
03.09.2003 09:45:15
Thomas Franz
Danke, funktioniert. Ich hatte schon fast genau die selbe Formel, aber das ISTZAHL() nicht mit drin. Daher hab ich immer nur #WERT bekommen.

mfg

Thomas
noch komplizierter
03.09.2003 17:55:08
Thomas Franz
Nun wirds noch komplizierter. Da ich diesen Bereich mit "A, B, C, D" etc. nicht nur einmal sondern in mehreren Zeilen untereinander habe (also nicht nur in B2:B5 sondern auch noch in B6:B9, B10:B13 ...), wollte ich das ganze jetzt mittels

{=MAX(WENN(ISTZAHL(SUCHEN("D";BEREICH.VERSCHIEBEN($B$2:$B$5;(ZEILE()-1)*4;0)));ZEILE($2:$5)-1;0))}

dynamisieren. Dummerweise bekomme ich jetzt nur noch 0 (also den False-Wert der Wenn-Abfrage) raus. Anscheinend klappt die Matrix-Erkennung von Excel nicht im Zusammenhang mit Bereich.Verschieben (vermutlich, weil dort Bereiche als Parameter gültig sind).

Fällt jemand eine andere Lösung ein (statt mit Bereich.Verschieben INDIREKT() zu nutzen funktioniert leider auch nicht)?

mfg

Thomas
Anzeige
Kompliziert - aber hoch interessant...
03.09.2003 21:09:25
Boris
Hi Thomas,

ich hab derzeit noch keine Lösung - zumindest keine OHNE Hilfsspalte (mit Hilfsspalte ist ja einfach).

Aber es interessiert mich schon, ob man das mit EINER Formel bewerkstelligen kann. Ich hege zwar meine Zweifel, werde aber noch ein wenig tüfteln.

Grüße Boris
Wie ist Lösung mit Hilfsspalte?
04.09.2003 11:21:27
Thomas Franz
Hallo Boris,

wie wäre die Lösung mit Hilfsspalte? Mir fällt dazu nichts einfaches ein *denkblockadehab*.

mfg

Thomas
Ich hab daraus mal ne kleine Spielerei gemacht...
04.09.2003 12:43:57
Boris
Hi Thomas,

...und die Aufgabe - zumindest so ähnlich - dargestellt.
Da findest du direkt zu Beginn die Hilfsspaltenlösung - und Franz hat das Ganze dann noch ohne Hilfsspalten "geknackt" - hoffentlich ist es das, was du suchst.

http://forum.myphorum.de/read.php?f=3040&i=26322&t=26322

Grüße Boris
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige