In einem Bereich mit Filter möchte ich eine Spalte mit Zeilennummern haben, dieändern je nach Filter, sodass die Zeilen immer fortlaufend ab 1 gezählt werden. Das Folgende ist beispielsweise ein Bereich mit Filter:
Number Name Gender
1 Alice F
2 Jason M
3 Ka F
4 Fiona F
5 Albert M
Nehmen wir nun an, wir wenden einen Filter an, um Zeilen anzuzeigen, in denen das Geschlecht M ist:
Number Name Gender
2 Jason M
5 Albert M
Das Obige ist die Anzeige, die Excel normalerweise anzeigt, ich möchte aber, dass die Zahl wie folgt von 1 an fortlaufend gezählt wird:
Number Name Gender
1 Jason M
2 Albert M
Die Zeilen sollten also entsprechend dem Filter neu nummeriert werden. Ich habe etwas Ähnliches =MAX(...)+1
oder die Verwendung der SUBTOTAL()
Funktion versucht, aber es ist mir bisher nicht gelungen. Ist es möglich, eine Formel für die Spalte „Zahl“ zu schreiben, um diese Aufgabe zu erledigen? Wie?
Antwort1
Verwenden Sie diese Formel:
=AGGREGATE(3,5,$A$1:A1)
in Zelle A2
. (Dies setzt voraus, dass Sie eine Spaltenüberschrift in Zelle haben A1
.)
Parameter von AGGREGATE()
:
- Function_num = 3, Zählt alle nicht leeren Zellen in einem Bereich
- Optionen = 5, ausgeblendete Zeilen im Bereich ignorieren
- Array = $A$1:A1, Bereich von der ersten Zeile bis zur Zeile über der ausgewählten Zelle
Beispielausgabe:
Wie von Benshepherd erwähnt, SUBTOTAL()
kann auch verwendet werden.
Antwort2
@Máté Juhász war mir da einfach voraus. Ich wollte einen alternativen Ansatz mit verwenden SUBTOTAL
. In A2 setzen =SUBTOTAL(103,B$2:B2)
und nach unten füllen.
Die SUBTOTAL
Funktion führt eine nummerierte Funktion für ihre Argumente aus – diese Funktionen werden in der Hilfe beschrieben. 103 entspricht dem COUNTA
Ignorieren ausgeblendeter Zeilen. (Sie würden einen Wert von 3 verwenden, um ausgeblendete Zeilen einzuschließen.) COUNTA
zählt die Anzahl der nicht leeren Zellen in einem Bereich. Wir verwenden die B$2:B2
Syntax, um die oberste Zelle unverändert zu lassen, und erweitern den Bereich, während wir die Liste nach unten durchgehen.