1k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo allerseits,

ich suche schon seit 2 Tagen eine Formel für folgendes Problem:
In Spalte B ab B3 werden nacheinander kurze Texte eingegeben (lückenlos, keine Leerzellen). Daneben kann ich mir in Spalte C anzeigen lassen, das wie vielte Mal der Text ab B3 vorkommt, mit
=WENN(ZÄHLENWENN($B$3:$B3; B3) > 1; ZÄHLENWENN($B$3:$B3; B3); "") + runterkopieren.
Nun würde ich in Spalte D gerne anzeigen lassen, in welcher Zeile vorher der letzte gleiche Eintrag stand falls ZÄHLENWENN($B$3:$B3; B3) > 1.
Wenn also z. B. in den Zellen B4, B11, B17 und B20 der Text "Phil Collins" steht, dann soll das herauskommen:
[B11:D11 = ] "Phil Collins" | 2 | 4
[B17:D17 = ] "Phil Collins" | 3 | 11
[B20:D20 = ] "Phil Collins" | 4 | 17
So kann ich ausgehend von der letzten Eintragung schrittweise zurückverfolgen, wo die vorletzte, vorvorletzte usw. Eintragung war.

Die Nebenbedingungen sind:
Ich suche eine Formellösung, VBA soll nicht verwendet werden.
Die Texte in B kommen unsortiert, mehrfach, aber unterschiedlich oft vor.
Eine Sortierung von B soll nicht durchgeführt werden.
Ich will ohne Hilfsspalte(n) auskommen. - Das ist der eigentliche Grund, weshalb ich um Hilfe bitte, denn mit Hilfsspalte(n) kriege ich es auch selber hin.
=VERGLEICH() liefert leider immer nur die erste gefundene Stelle, ich brauche aber die letzte, Kombinationen mit =MAX() oder =SUMMENPRODUKT() haben bisher nichts gebracht. Und bei www.excelformeln.de bin ich auch nicht fündig geworden.

Hat von Euch jemand eine Idee?
MfG Klaus

2 Antworten

0 Punkte
Beantwortet von
Hallo noch einmal,

ja, nun ist mir selber doch noch was eingefallen, mit Hilfe von www.excelformeln.de/formeln.html?welcher=485 und etwas abgewandelt.

D3 kann leer bleiben, der erste Eintrag hat ja keinen Vorgänger. In Zelle D4 kommt die Matrixformel (mit STRG + UMSCHALT + EINGABE):

{ =WENN(ZÄHLENWENN($B$3:$B4; B4) > 1; INDEX(ZEILE($1:1); MAX(WENN((1 * ($B$3:$B3 = B4) * ZEILE($3:3)) > 0; ZEILE($3:3)))); "") }

Runterkopieren, fertich. (Endlich. Erleichterung.)
Vielleicht auch für andere nützlich?

Schönen Abend!
Klaus
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Klaus,

schön, dass Du eine Lösung hast.
Habe auch mal probiert und bin zu folgender Matrixformel für D4 gekommen.

Teste mal selbst.

=MAX(WENN(ZÄHLENWENN(B$3:B4;B4)>1;ZEILE($3:4)-3))

Gruß
Rainer
...