Zoeken op website

De dynamische arrayfuncties van Excel lieten me beseffen dat ik jarenlang problemen op de moeilijke manier had opgelost


De meeste Excel-gebruikers die ik ken, hebben formules op dezelfde manier geleerd als ik — één functie tegelijk, bovenop wat ze al wisten. Dynamische matrixfuncties vervangen die vaardigheden niet; ze maken gewoon veel van de omwegen overbodig. Ik gebruik al een tijdje zelfbijwerkende top-vijf-lijsten met TAKE en DROP, en dezelfde verschuiving is gebeurd met de vier functies hieronder. Elke functie heeft een multi-stap routine die ik vroeger reflexmatig uitvoerde teruggebracht tot één enkele formule.

FILTER verving een hele reeks hulpkolommen en matrixformules

Eén formule doet nu wat voorheen door meerdere functies werd verdeeld.

Het ophalen van overeenkomende rijen in oudere Excel betekende het bouwen van een geneste INDEX-, MATCH-, SMALL- en IFERROR-formule en deze invoeren met Ctrl + Shift + Enter. Het werkte, maar het later onderhouden ervan was een probleem. De andere optie was om AutoFilter toe te passen, de zichtbare rijen te kopiëren en ze ergens anders te plakken als statische waarden. Dat was ook prima totdat de brongegevens veranderden.

De FILTER-functie doet hetzelfde werk in één regel. In mijn verkoopspreadsheet, die 32 rijen bevat over regio's, productcategorieën en verkopers, ziet het eruit als je elke verkoop van Electronics uit de Westregio ophaalt:

=FILTER(A2:G33, (B2:B33="West")*(C2:C33="Electronics"))

Het eerste argument is het bereik dat je wilt retourneren. Het tweede is de voorwaarde, en de vermenigvuldiging tussen de twee controles fungeert als een EN — beide moeten waar zijn. Het vervangen van het asteriskteken door een plusteken maakt het een OF, en het resultaat wordt automatisch verspreid. Het toevoegen van een nieuwe rij in de bron werkt de verspreide uitvoer bij op het moment dat je op Enter drukt.

Je kunt FILTER in IFERROR wikkelen met een derde argument om lege resultaten af te handelen. =FILTER(range, condition, "Geen overeenkomsten") voorkomt dat je sheet #CALC!-fouten toont wanneer geen rijen voldoen.

UNIQUE veranderde mijn drie-stappen deduplicatieroutine in één enkele cel

Duplicaten verwijderen is goed, maar het heeft zichzelf nog nooit voor mij bijgewerkt

De optie Duplicaten verwijderen onder het tabblad Gegevens is prima voor een eenmalige opruiming. Het probleem is dat het een statische lijst produceert. Wanneer je een kolom naar een nieuwe locatie kopieert, het dialoogvenster uitvoert of de resultaten sorteert, zul je het de volgende keer dat iemand een rij toevoegt allemaal opnieuw moeten doen. Ik heb dat vaker gedaan dan ik wil tellen.

UNIQUE slaat elke stap daarvan over. Het richten ervan op de kolom verkopers in mijn verkoopspreadsheet ziet er zo uit:

=UNIQUE(D2:D33)

Het resultaat stroomt uit als John Smith, Sarah Johnson, Mike Wilson, Lisa Brown, David Chen, Emma Davis, Tom Rodriguez en Amy Foster. Dat zijn acht namen zonder dialoogvenster. Als je het verpakt als =SORT(UNIQUE(D2:D33)) krijg je dezelfde lijst alfabetisch gesorteerd. De uitvoer blijft verbonden met de bron, dus het toevoegen van een nieuwe naam aan de gegevens verlengt automatisch de uitgestorte lijst.

Deze opzet maakt ook een schone bron voor een gegevensvalidatie-dropdownlijst. Als je het uitgesprongen bereik verwijst met een hekje zoals D35#, groeit je dropdown automatisch mee naarmate er nieuwe namen in de brongegevens verschijnen.

SORTBY heeft mijn kopiëren-plakken-en-sorteren-gewoonte voorgoed beëindigd

Een weergave sorteren zonder de brongegevens aan te raken

Sorteren in Excel brengt altijd een klein risico met zich mee. Het herschikken van de bron kon formules die naar vaste rijen verwezen, laten breken, dus mijn noodoplossing was om een stuk ergens veilig te kopiëren en de kopie te sorteren. SORT hielp, maar alleen wanneer ik tevreden was om elke kolom waarop ik sorteerde weer te geven.

SORTBY verwijdert die beperking. Het sorteert een bereik op basis van waarden uit een ander bereik, en het tweede bereik hoeft niet in de output te verschijnen. Ik gebruikte de volgende formule om verkopers in mijn dataset te rangschikken op omzet:

=SORTBY(D2:D33, G2:G33, -1)

Het eerste argument is wat je terug wilt krijgen (verkopers), het tweede is waarop je wilt sorteren (verkoopopbrengst), en -1 stelt de volgorde in op aflopend. De namen komen terug gerangschikt van hoogste naar laagste verkoopbedrag, en de kolom met verkoopbedrag verschijnt nooit in de uitvoer tenzij je erom vraagt.

Het gaat ook goed samen met FILTER. Het omhullen van FILTER(D2:G33, B2:B33="North") binnen SORTBY geeft alleen de records van de noordelijke regio terug, gesorteerd van hoog naar laag, in één keer. De brongegevens blijven onaangetast.

SORTBY accepteert meerdere sorteerniveaus. U kunt meer bereik-/volgordeparen toevoegen om eerst op regio te sorteren en vervolgens binnen elke regio op omzet.

SEQUENCE verving vulgrepen en de RIJ-trucs waar ik vroeger trots op was

Een reeks genereren zonder een enkele cel te slepen

Het genereren van een genummerde reeks betekende vroeger dat ik het vulhendel bleef slepen totdat ik mijn geduld verloor of =ROW(A1) schreef en dit naar beneden kopieerde. Beide werken, maar geen van beiden past zich aan wanneer de onderliggende gegevens veranderen.

SEQUENCE behandelt dezelfde taak in één cel, en het genereert rijen, kolommen of volledige grids afhankelijk van de argumenten. De syntaxis is:

=SEQUENCE(rows, [columns], [start], [step])

Om de acht unieke verkopers in mijn gegevens te nummeren te beginnen bij 1001, gebruikte ik de volgende formule:

=SEQUENCE(8, 1, 1001, 1)

Dat geeft 1001 tot en met 1008 terug in één kolom. Het instellen van kolommen op 1 en stap op 1 houdt het als een verticale lijst met opeenvolgende gehele getallen. Waar SEQUENCE zijn plaats verdient, is binnen andere functies. Het bouwen van een datumreeks van 31 dagen voor januari 2026 kost één formule:

=DATE(2026, 1, SEQUENCE(31))

Het voeden van de uitgespatte array in TEXT, INDEX of een andere functie die een bereik verwacht, vervangt wat vroeger een hulpkolom nodig had. Ik heb dit in meer detail behandeld toen ik schreef over het gebruik van SEQUENCE om datumkolommen te vullen, en het bespaart me nog steeds tijd bij elke kalender of planning die ik maak.

Oude Excel werkt nog steeds, maar ik open die gereedschapskist niet opnieuw

De functies waarin ik de volgende wil duiken

Geen van de oudere methoden is kapot. Ze duren gewoon langer en leveren bestanden op die moeilijker te onderhouden zijn, zowel voor mij als voor iedereen die later het werkboek opent. Voor mij is de verschuiving wat ik standaard gebruik. Nieuwe spreadsheets beginnen met dynamisch array-denken, en de oude gereedschapskist komt alleen tevoorschijn wanneer ik het bestand van iemand anders bewerk. Als volgende op mijn lijst staan TEXTSPLIT om strings te splitsen, VSTACK en HSTACK om bereiken te combineren, en PIVOTBY en GROUPBY om draaitabellen helemaal over te slaan. Elke release lijkt weer een nieuwe gewoonte af te schaffen, wat voor mij prima is.

Gerelateerde artikelen