
Generieke formule
(=INDEX(rng,MATCH(MAX(LEN(rng)),LEN(rng),0)))
Samenvatting
Om de langste tekenreeks (naam, woord, etc.) in een kolom te vinden, kunt u een matrixformule gebruiken op basis van INDEX en MATCH, samen met LEN en MAX. In het getoonde voorbeeld is de formule in F6:
(=INDEX(names,MATCH(MAX(LEN(names)),LEN(names),0)))
Waarbij "namen" het benoemde bereik C5: C14 is.
Opmerking: dit is een matrixformule en moet worden ingevoerd met control + shift + enter.
Uitleg
De sleutel tot deze formule is de MATCH-functie, die als volgt is opgezet:
MATCH(MAX(LEN(name)),LEN(name),0))
In dit fragment is MATCH ingesteld om een exacte overeenkomst uit te voeren door nul op te geven voor het zoektype. Voor opzoekwaarde hebben we dit:
MAX(LEN(names))
Hier retourneert de LEN-functie een reeks resultaten (lengtes), één voor elke naam in de lijst:
(5;6;8;6;6;5;6;9;6;6)
De MAX-functie retourneert dan de grootste waarde, in dit geval 9. Voor de opzoekmatrix wordt LEN opnieuw gebruikt om een reeks lengtes te retourneren. Na de LEN- en MAX-run hebben we:
MATCH(9,(5;6;8;6;6;5;6;9;6;6),0)
die de positie van de maximale waarde teruggeeft, 8.
Dit gaat als volgt in INDEX:
=INDEX(names,8)
INDEX retourneert naar behoren de waarde op de 8e positie van namen , wat "Stephanie" is.