Excel: Letztes Auftreten einer bestimmten Zeichenfolge in einer Spalte

Excel: Letztes Auftreten einer bestimmten Zeichenfolge in einer Spalte

Ich verwende die Funktion LOOKUP, um das letzte Vorkommen einer bestimmten Zeichenfolge in einer angegebenen Spalte zu finden, und zwar wie folgt:

LOOKUP(A3;Runs!D3:D6;Runs!A3:A6)

Allerdings sind die Grenzen im Vektor fest codiert: Läuft!A3:A6. Ich möchte, dass dieser Wert dynamisch auf die letzte Zelle mit Daten der Spalte gesetzt wird. Ich habe diese Formel gefunden, die den letzten Zeilenindex angibt:

COUNTA(Runs!A:A)

Mit dieser anderen Funktion erhalte ich den Zellverweis (den Inhalt der Zelle), aber ich kann ihn scheinbar nicht mit der LOOKUP-Formel zusammenführen:

INDIRECT("Runs!A"&COUNTA(Runs!A:A))

Gibt es eine Möglichkeit, die Obergrenze für LOOKUP dynamisch festzulegen?

BEARBEITEN: Der Zeilenbereich enthält keine leeren Zeilen.

Grüße

Antwort1

Ich verstehe – das Problem besteht darin, Ihren dynamischen Bereich als Bereichsspezifikation in LOOKUP zu verwenden. Sie waren fast am Ziel. Versuchen Sie Folgendes:

    LOOKUP(A3;INDIRECT("Runs!D3:D"&COUNTA(Runs!D:D));Runs!A3:A6)

Antwort2

die Funktion offset() wird Ihr Problem lösen

Ersetzen Sie Runs!A3:A6 durchOFFSET($A$3,0,0,ANZAHL2($A$3:$A$1000),1)

Sie können mit einem Dynamic Define Range etwas ausgefallenere Dinge erreichenhttp://support.microsoft.com/kb/830287

Antwort3

Das habe ich dann auch gemacht. Vielen Dank an alle für eure Kommentare, die Antwort von fixer1234 war besonders hilfreich. Der LOOKUP-Befehl lieferte keine genauen Ergebnisse, also habe ich ihn durch ein INDEX/MATCH-Paar ersetzt. Außerdem habe ich eine N/A-Prüfung hinzugefügt.

IF(ISNA(INDEX(INDIRECT("Runs!A3:A"&COUNTA(Runs!A:A)), MATCH(A3, INDIRECT("Runs!D3:D"&COUNTA(Runs!D:D)), 0))), "", INDEX(INDIRECT("Runs!A3:A"&COUNTA(Runs!A:A)), MATCH(A3, INDIRECT("Runs!D3:D"&COUNTA(Runs!D:D)), 0)))

verwandte Informationen