Excel-Formel: n-ter kleinster Wert mit Kriterien -

Inhaltsverzeichnis

Generische Formel

(=SMALL(IF(criteria,values),n))

Zusammenfassung

Um den zweitkleinsten Wert, den drittkleinsten Wert, den viertkleinsten Wert usw. zu erhalten, wobei jeder Wert den angegebenen Kriterien entspricht, können Sie eine Arrayformel verwenden, die die Funktionen SMALL und IF verwendet.

Im gezeigten Beispiel lautet die Formel in G7:

(=SMALL(IF(Sex="F",Time),F7))

Wobei "Geschlecht" ein benannter Bereich für C3: C15 und "Zeit" der benannte Bereich D3: D15 ist.

Hinweis: Dies ist eine Array-Formel und muss mit Strg + Umschalt + Eingabetaste eingegeben werden.

Erläuterung

Die SMALL-Funktion ist vollautomatisch - Sie müssen nur einen Bereich und eine Ganzzahl für "nth" angeben, um den gewünschten Rangwert anzugeben.

Das Problem in diesem Fall ist, dass SMALL nicht mit jedem Wert im Bereich arbeiten soll, sondern nur mit männlichen oder weiblichen Werten (M oder F). Um diese Kriterien anzuwenden, verwenden wir die IF-Funktion, die einen logischen Test für "M" oder "F" bereitstellt. Da wir den Test auf ein Array von Werten anwenden, ist das Ergebnis auch ein Array. In dem gezeigten Beispiel Das resultierende Array sieht folgendermaßen aus:

(0,00729166666666667; FALSE; 0,00689814814814815; FALSE; 0,00835648148148148; FALSE; FALSE; FALSE; FALSE; 0,00693287037037037; FALSE; FALSE; 0,00672453703703704)

Wobei FALSE männliche Zeiten und Zahlen weibliche Zeiten darstellen. (Zeiten wie diese sind Bruchwerte, weshalb wir manchmal so viele Dezimalstellen haben).

Die SMALL-Funktion ignoriert automatisch die Werte TRUE und FALSE, sodass das Ergebnis der n-te kleinste Wert aus der Menge der tatsächlichen Zahlen im Array ist.

Fehler ohne n-ten

Sie erhalten eine Fehlermeldung, wenn es keinen n-ten kleinsten Wert gibt, der auf den angegebenen Kriterien basiert. Sie können diesen Fehler mit IFERROR abfangen und durch einen Wert ersetzen, der wie folgt sinnvoll ist:

(=IFERROR(SMALL(IF(Sex="F",Time),F8),"-"))

Mehrere Kriterien

Um mehrere Kriterien zu behandeln, können Sie die Formel mit boolescher Logik in einer Form wie der folgenden erweitern:

=SMALL(IF((criteria1)*(criteria2),values),n)

Wobei Kriterien1 und Kriterien2 und einen Ausdruck zum Testen von Werten in einem Kriterienbereich darstellen, wie im obigen Originalbeispiel gezeigt.

Interessante Beiträge...