2017-05-05 2 views
1

Im Anschluss an diese Frage: Array that outputs cells in a column AFTER a certain pointArray nicht letzte Zelle Ausgabe

I ein vereinfachtes Beispiel gemacht haben die Formel

=IFERROR(INDEX($A$1:$A$11,SMALL(IF(ROW($A$1:$A$11)-MIN(ROW($A$1:$A$11))>MATCH("WORD",$A$1:$A$11,0),ROW($A$1:$A$11)-MIN(ROW($A$1:$A$11))),ROWS(A$1:A1))),"") 

hier zu testen, ist meine Beispieldaten in Spalte A und Matrixformel in Spalte B (Eingabe mit Strg + shift + enter) :

example

Das Array gibt die Zellen aus, die nach dem WORD gefunden wurden. Sie können jedoch sehen, dass 10 vom Array nicht angezeigt wird. Ich werde angezeigt, wenn ich alle Bereiche in der Formel auf A1:A12 ändern, aber das ist sicherlich nicht korrekt.

Was passiert hier?

+1

Haben Sie versucht, den '> MATCH' Ändern'> = MATCH'? –

+1

Die Array-Formel, die Sie zur Verfügung gestellt haben, gibt mir nur "6" in jeder Zelle ... –

+0

Selben. Ich erhalte nicht die Ergebnisse, die Sie im Screenshot zeigen. –

Antwort

3

Sie müssen 1 zu der Reihe der von der kleinen hinzuzufügen, 11-1 = 10, also dann müssen Sie mit dem> Spiel unter Verwendung von> = MATCH behandeln:

=IFERROR(INDEX($A$1:$A$11,SMALL(IF(ROW($A$1:$A$11)-MIN(ROW($A$1:$A$11))>=MATCH("WORD",$A$1:$A$11,0),ROW($A$1:$A$11)-MIN(ROW($A$1:$A$11))+1),ROWS(A$1:A1))),"") 

Als eine Matrixformel Es muss beim Verlassen des Bearbeitungsmodus mit Strg-Umschalt-Enter anstelle von Enter bestätigt werden. Wenn es richtig gemacht wird, wird Excel {} um die Formel setzen.

enter image description here

+0

Ausgezeichnet, Ausgabe ist jetzt korrekt. – Aurelius

+0

Hinweis Scott fügte auch +1 hinzu, um zu vermeiden, dass die 0te Übereinstimmung mit "WORD" übereinstimmt. Nette Lösung. – kabanus

+0

@Demo. Aber Sie scheinen meine ursprüngliche Formel aus irgendeinem Grund falsch kopiert zu haben. –

Verwandte Themen