Excel-formule: match bij benadering met meerdere criteria -

Inhoudsopgave

Samenvatting

Als u de overeenkomst op basis van meer dan één criterium wilt opzoeken en benaderen, kunt u een matrixformule gebruiken op basis van INDEX en MATCH, met behulp van de ALS-functie. In het getoonde voorbeeld is de formule in G8:

(=INDEX(D5:D10,MATCH(G7,IF(B5:B10=G6,C5:C10),1)))

Het doel van deze formule is om "grootte" terug te geven wanneer een dier en een gewicht wordt gegeven.

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

Uitleg

In de kern is dit slechts een INDEX / MATCH-formule. Het probleem in dit geval is dat we de overbodige items in de tabel moeten "uitfilteren", zodat we alleen items overhouden die overeenkomen met het dier dat we opzoeken.

Dit wordt hier gedaan met een eenvoudige ALS-functie:

IF(B5:B10=G6,C5:C10)

Dit fragment test de waarden in B5: B10 om te zien of ze overeenkomen met de waarde in G6 (het dier). Als er een overeenkomst is, worden de overeenkomstige waarden in C5: C11 geretourneerd. Als er geen overeenkomst is, wordt FALSE geretourneerd. Als G6 "cat" bevat, ziet de resulterende array er als volgt uit:

(FALSE; FALSE; FALSE; 5; 10; 15)

Dit gaat in de MATCH-functie als de array. De opzoekwaarde voor match komt van G7, die het gewicht bevat (9 lbs in het voorbeeld).

Merk op dat match is geconfigureerd voor geschatte match door match_type in te stellen op 1, en dit vereist dat de waarden in C5: C11 moeten worden gesorteerd.

VERGELIJKEN geeft de positie van het gewicht in de array terug, en dit wordt als het rijnummer doorgegeven aan de functie INDEX. De lookup_array voor INDEX zijn de formaten in D5: D10, dus INDEX retourneert een grootte die overeenkomt met de positie die is gegenereerd door MATCH (het getal 4 in het getoonde voorbeeld).

Interessante artikelen...