Excel: So überspringen Sie eine bestimmte Zeile in einem Array

Excel: So überspringen Sie eine bestimmte Zeile in einem Array

Ich versuche, eine bestimmte Zeile in einem Array zu überspringen, nicht den Wert.

Nehmen wir zum Beispiel an, wir befinden uns in Spalte A:

0
3
0 <--- Row 3
0

wie kann ich die 3. Zeile in A1:A4 überspringen, sodass „small(A1:A4, 2)“ 0 und „small(A1:A4, 3)“ 3 ergibt.

Ich möchte eine bestimmte Zeile überspringen, nicht den Wert. Ich kann die Zeilen nicht vertauschen, ich benötige eine Formel, die eine bestimmte Zeile in einem Array ignoriert

Vielen Dank für die Hilfestellung!

Antwort1

Ein anderer Ansatz besteht darin, mit der INDEXFunktion ein Array der Zeilen zu erstellen, die Sie behalten möchten (und es gibt viele Möglichkeiten, dieses Array zu erstellen). In Ihrem spezifischen Beispiel verwenden Sie AGGREGATEanstelle von SMALL:

=AGGREGATE(15,4,INDEX($A$1:$A$4,IF(1,N({1,2,4}))),2)

Bildbeschreibung hier eingeben

Wenn Sie nur vier Zeilen haben und nur eine ignorieren möchten, ist der Ansatz nicht wirklich wichtig. Wenn Ihre Bereiche größer sind und Ihre Auswahl der zu ignorierenden Zeilen komplexer ist (und mehr als nur eine), ist es möglicherweise einfacher, ein Array mit Zeilennummern zu erstellen, die beibehalten werden sollen.

Antwort2

Wenn Sie die Zahlen summieren möchten, verwenden Sie SUMPRODUCT:

=SUMPRODUCT((ROW(A1:A4)<>3)*(A1:A4))

Wenn Sie etwas anderes tun möchten, benötigen Sie höchstwahrscheinlich eine Formel für die Eingabe eines Arrays mit einem IF darin:

IF(ROW(A1:A4)<>3,A1:A4)

Dadurch wird die Formel zu einer Array-Formel, die beim Verlassen des Bearbeitungsmodus mit Strg-Umschalt-Eingabe statt mit der Eingabetaste bestätigt werden muss.

Wenn wir beispielsweise das MAX wollten:

=MAX(IF(ROW(A1:A4)<>3,A1:A4))

Eingegeben mit Strg-Umschalt-Eingabe.

Für die Kleinen:

=SMALL(IF(ROW(A1:A4)<>3,A1:A4),3)

Eingegeben mit Strg-Umschalt-Eingabe würde 3nicht zurückgeben0

Bildbeschreibung hier eingeben


Eine andere Form von AGGREGATE, die mit der kleinen Form oben identisch ist:

=AGGREGATE(15,7,A1:A4/(ROW(A1:A4)<>3),3)

Antwort3

So überspringen Sie die angegebene 3. Zeile in A1:A4

Versuchen Sie, diese normale Formel einzugeben:

=SMALL(IF({1;1;0;1},A1:A4),3)

gibt das Ergebnis zurück3

Und,

=SMALL(IF({1;1;0;1},A1:A4),2)

gibt das Ergebnis zurück0

verwandte Informationen