Excel-formule: n-de kleinste waarde met criteria -

Inhoudsopgave

Generieke formule

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

Samenvatting

Om de 2de kleinste waarde, 3de kleinste waarde, 4de kleinste waarde, enzovoort te krijgen, waarbij elke waarde overeenkomt met de opgegeven criteria, kunt u een matrixformule gebruiken die de SMALL- en IF-functies gebruikt.

In het getoonde voorbeeld is de formule in G7:

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

Waarbij "Geslacht" een benoemd bereik is voor C3: C15 en "Tijd" het benoemde bereik D3: D15 is.

Opmerking: dit is een matrixformule en moet worden ingevoerd met Control + Shift + Enter.

Uitleg

De SMALL-functie is volledig automatisch - u hoeft alleen een bereik en een geheel getal voor "n-de" in te voeren om de gewenste rangorde op te geven.

Het probleem in dit geval is dat we niet willen dat SMALL op elke waarde in het bereik werkt, alleen waarden die mannelijk of vrouwelijk zijn (M of F). Om dit criterium toe te passen, gebruiken we de ALS-functie, die een logische test biedt voor "M" of 'F ". Omdat we de test toepassen op een reeks waarden, zal het resultaat ook een reeks zijn. In het getoonde voorbeeld , ziet de resulterende array er als volgt uit:

(0.00729166666666667; FALSE; 0.00689814814814815; FALSE; 0.00835648148148148; FALSE; FALSE; FALSE; FALSE; 0.00693287037037037; FALSE; FALSE; 0.00672453703703704)

Waar FALSE mannelijke tijden vertegenwoordigt en getallen vrouwelijke tijden. (Tijden zoals deze zijn fractionele waarden, daarom hebben we soms zoveel decimalen).

De functie KLEIN negeert automatisch de waarden TRUE en FALSE, dus het resultaat is de n-de kleinste waarde van de reeks werkelijke getallen in de array.

Fout zonder n-de

U krijgt een foutmelding als er geen n-de kleinste waarde is op basis van de opgegeven criteria. U kunt deze fout vangen met IFERROR en vervangen door elke waarde die als volgt zinvol is:

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

Meerdere criteria

Om met meerdere criteria om te gaan, kunt u de formule uitbreiden met booleaanse logica in een vorm als deze:

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

Waar criteria1 en criteria2 en een uitdrukking vertegenwoordigen om waarden in een criteriumbereik te testen, zoals getoond in het oorspronkelijke voorbeeld hierboven.

Interessante artikelen...