2016-06-27 4 views
0

I Spalte A, die von 0 bis 100 reich voller Zahlen ist, wie kann ich den Index des unteren Elements, aber das ist größer als 0Excel Index von Bottom Elemente in Spalte aber> 0

Zum Beispiel

6 
7 
9 
1 
0 
8 
0 

In diesem Beispiel wird die Zahl zurück sollte „6“, wie es der Index der Zelle ist, die „8“ enthält.

Antwort

0

Sie wollen die Array-Form von MATCH() verwenden:

=MATCH(1E+99,IF($A$1:$A$7<>0,$A$1:$A$7)) 

Sein ein Array muss es mit bestätigt werden Ctrl-Shift-Eingabe, wenn Bearbeitungsmodus statt Enter verlassen. Wenn es richtig gemacht wird, wird Excel {} um die Formel setzen.

Dies wird die letzte Zahl im Bereich finden, die nicht 0.

enter image description here


Wenn Ihre Liste ändert sich nicht statisch ist, ist die Liste lang ist, dann können Sie diese Formel verwenden, denen wachsen und schrumpfen, wie die Daten in Spalte A Änderungen:

=MATCH(1E+99,IF($A$1:INDEX(A:A,MATCH(1E+99,A:A))<>0,$A$1:INDEX(A:A,MATCH(1E+99,A:A)))) 

es ist immer noch ein Array und ist ein Array mit bestätigt werden muss Ctrl-Shift-Enter beim Beenden Bearbeitungsmodus statt Eingabe. Wenn es richtig gemacht wird, wird Excel {} um die Formel setzen.

Die Berechnungen der Array-Formel sind exponentiell und daher möchten wir die Größe des zu testenden Datensatzes in den Grenzen begrenzen. Die beiden INDEX(A:A,MATCH(1E+99,A:A)) finden die letzte Zelle in Spalte A mit einer Nummer und legen diese als letzte Zelle im Bereich fest.

enter image description here

+0

Wie kann ich diese Skala bis 100, 200, 300 Elemente? Was bedeutet "1E + 99"? – askernoob6

+0

'1E + 99' ist eine 1 mit 99 0s danach. Das Spiel sucht nach dieser Zahl, wenn sie es nicht findet, was ich nicht hoffen würde, es wird die letzte Zahl in dem Satz zurückgeben. Sie müssen dies auf den Umfang der Daten einstellen. Ändern Sie einfach beide "$ A $ 1: $ A $ 7" in Ihren Datensatz. –

+0

@ askernoob6 siehe bearbeiten für eine Alternative, die dynamischer ist. –

Verwandte Themen