HERBERS Excel-Forum - das Archiv
Tabelle durchsuchen und Zeilenwert wiedergeben
toni

Hallo,
1.) ich suche eine Formel die einen Text über mehrere Spalten und zeilen nach einem bestimmten Text durchsucht z.B. " paar Socken" und soll dann den Wert der Zeile wiedergeben, d.h. in welcher Zeile dieser Wert ist.
Toni

finde die Zeile von "linke Socke"
"linke

Hi Du Sozi,
folgende Arrayformel:
{=MAX(ISTZAHL(FINDEN("linke Socke";A1:G99))*ZEILE(A1:G99))}
ARRAY-Formel {=geschweifte Klammern} nicht eingeben;
Abschluß der Formel mit gleichzeitig Strg / Shift / Enter (statt Enter allein); - das erzeugt sie.
Salut WF
http://www.excelformeln.de/
die ultimative Formelseite
einfach die Suchfubktion benutzen ...
Matthias

Hallo
Userbild
AW: Tabelle durchsuchen und Zeilenwert wiedergeben
Daniel

Hi
diese Formel würde das für dich machen, kommt der Suchbegriff mehrfach vor, dann wird die grösste Zeilennummer zurückgegen:
=MAX(ZEILE(A1:A12)*ZÄHLENWENN(BEREICH.VERSCHIEBEN(A1;ZEILE(A1:A12)-1;0;1;10); "y"))
ACHTUNG MATRIX-FORMEL, dh Eingabe immer mit STRG+SHIFT+ENTER abschließen.
der Suchbegriff ist "y".
der durchsuchte Zellbereich wird wiefolgt festgelegt:
- Zeilen und Startspalte: durch Zeile(A1:A12)
- Anzahl Spalten: durch die 10 in der Bereich.Verschieben-Funktion (4. Parameter)
sollte der Suchbegriff nur Teil eines Zellwertes sein und nicht der komplette Zellwert, muss man noch die Platzhaltersternchen anfügen: "*y*"
Gruß, daniel
dann füge vorher mal eine Zeile ein
WF

.
AW: korrektur
Daniel

Hi
ja und, wo liegt das Problem?
der Rückgabewert der Formel ist relativ zum angegeben Zellbereich zu sehen, dh wenn der durchsuchte Zellbereich nicht in Zeile 1 beginnt, dann weicht der Rückgabewert von der absoluten Zeilennummer eben um diesen Versatz ab.
das ist aber Excel-konform, denn die Vergleichsfunktion aus Excel verhält sich genau so.
wenn es etwas zu korrigiern gibt, dann das hier:
=MAX(ZEILE(A1:A15)*(ZÄHLENWENN(BEREICH.VERSCHIEBEN(A1;ZEILE(A1:A15)-1;0;1;10);"y")>0))
denn der Suchwert könnte ja in der gleichen Zeile mehrfach vorkommen und das würde in der alten Version ein falsches Ergebnis liefern.
gruß, Daniel
es ist schlicht und ergreifend zu umständlich
WF

.
AW: wie steuerst du, ob Teilstring oder ganze
Daniel

Zelle verglichen werden soll?
gruß, Daniel
Ich antworte auf das, was gefragt wurde.
WF

.
AW:ich habe dich was gefragt
Daniel

FINDEN braucht man da nicht
WF

{=MAX(IDENTISCH("linke Socke";A1:G99)*(ZEILE(1:99)))}
Salut WF
AW: Identisch auch nicht
Daniel

HI
ok, danke.
aber warum dann nicht noch einfacher:
=MAX(ZEILE(A1:D13)*(A1:D13="linke Socke"))
Gruß, Daniel
ps. die Hilfe schlägt vor, um abolute gleichheit mit Identsich zu bekommen, das doppelte Gleichheitszeichen == als Vergleichsoperator zu verwenden. Allerdings bringt mir Excel dann einen Fehlermeldung, wenn ich die Formel so eingeben will.
dann würde man die kleine socke auch aufspüren
WF

also:
"linke Socke"
wäre dann dasselbe wie
"linke socke"
WF
AW: dann würde man die kleine socke auch aufspüren
Daniel

Hi
ja, genau für diesen Fall schlägt die Hilfe ja das Doppelte Gleichheitszeichen vor, das zwischen Linken und linken Socken unterscheidet.
Allerdings mag mein Excel 2007 das doppelte Gleichheitszeichen nicht.
Hast du dafür eine Antwort?
Gruß, Daniel
2007 hab ich nicht - und ...
WF

... ein doppeltes = funktioniert auch früher nie.
WF
...und in Gnumeric ist's genauso wie in...
Luc:-?

...Excel, aber in OOcalc ist beides gleich (und == gibt's bei beiden auch nicht)!
Das nur der Vollständigkeit halber... ;-?
Gruß Luc :-?