Nur Array-Funktion gibt den ersten Wert zurück

947
Dizz

Ich versuche, eine Array-Funktion in Excel zu verwenden. Die Formel gibt den Wert der gefilterten Tabelle zurück. das ist meine Formel.

{= INDEX (A: A, MIN (WENN (UNTERTOTAL (3, OFFSET (A2, AOW) (A2: A31) -ROW (A2), 0)), ROW (A2: A31))))}

Das Problem ist, dass der zurückgegebene Wert nur das erste Ergebnis ist, dh wenn nach dem Filter die erste Zelle A9 ist, wenn ich die Formel nach unten ziehe, wird nur der A9-Wert in allen Zellen zurückgegeben. Dies ist mein erster Versuch, die Array-Funktion zu verwenden. Ich weiß nicht, was ich überprüfen soll. Ich denke, die Formel selbst ist richtig, aber weil dies mein erster Versuch ist, vermisse ich vielleicht etwas. Ich drücke bereits Strg + Shift + Enter zur Bestätigung.

Eigentlich ist es mein Ziel, Werte von Zellen zurückzugeben, die bestimmte Kriterien erfüllen. Ich habe versucht, eine andere Funktion zu verwenden. Da dies jedoch zu kompliziert ist, habe ich versucht, einen eingebauten Filter zu verwenden. Da es jedoch nur die Zellen verdeckt, die die Kriterien nicht erfüllen, hat es gewonnen. Ich arbeite mit meiner anderen Formel, die den gefilterten Wert verwendet. Wenn Sie andere Lösungen haben als die, die ich verwendet habe, schlagen Sie sie bitte vor. Danke im Voraus.

0

1 Antwort auf die Frage

1
Gary's Student

Ich habe vor einer Weile dieselbe Frage gestellt und eine gute Antwort von Ron Coderre erhalten

Er schlug sowohl eine Array- als auch eine Non-Array-Formellösung vor. Die Formeln sind komplex. Ich biete einen sehr einfachen, intuitiven Ansatz an, bei dem einfache Nicht-Array-Formeln mit einer Helper-Spalte verwendet werden.

Sagen wir Daten in Spalten A und B . In C2 geben Sie ein:

=SUBTOTAL(3,$A$2:$A2) 

und nach unten kopieren:

enter image description here

Die Helfer-Spalte ist ein einfacher Satz von sequentiellen Werten. Wir filtern jetzt nach Hund :

enter image description here

Der Helfer hat sich so angepasst, dass er eine einfache Sequenz bleibt! Dies ermöglicht uns, einen Standardansatz MATCH()/INDEX()zu verwenden, um die sichtbaren Daten zu erfassen. In Sheet2Zelle A1 geben Sie ein:

=IFERROR(INDEX(Sheet1!A:A,MATCH(ROWS($1:1),Sheet1!C:C,0)),"") 

und nach unten kopieren:

enter image description here

Wenn Sie keine Helfer-Spalte verwenden können, versuchen Sie eine der Coderre-Formeln.

Ich habe Ihre Formel ausprobiert und sie funktioniert, es hilft sogar als Referenz, um meine andere Formel festzulegen. Ich habe nicht gefunden, was meine vorherige Formel nicht funktioniert, aber Sie ist einfacher, daher werde ich sie jetzt verwenden. Vielen Dank. Dizz vor 5 Jahren 0