Matrixformules vormen een cruciaal onderdeel van de toolkit die Excel veelzijdig maakt. Deze uitdrukkingen kunnen echter ontmoedigend zijn voor beginners.
Hoewel ze op het eerste gezicht misschien ingewikkeld lijken, zijn de basisprincipes gemakkelijk te begrijpen. Arrays leren is handig omdat deze formules het beheer van complexe Excel-gegevens vereenvoudigen.
Wat is een matrixformule in Excel?
Een array is een verzameling cellen in een kolom, rij of combinatie die in een groep is samengevoegd.
In Microsoft Excel verwijst de term matrixformule naar een familie van formules die een of meer bewerkingen uitvoeren op zo'n reeks cellen, allemaal tegelijk, in plaats van één cel tegelijk.
Bij eerdere versies van Excel moesten gebruikers op drukken Ctrl+Shift+Enter om een matrixfunctie te maken, resulterend in de naam CSE (Ctrl, Shift, Escape) functies, hoewel dit niet langer het geval is voor Excel 365.
Een voorbeeld kan een functie zijn om de som van alle verkopen van meer dan $ 100 op een bepaalde dag te krijgen. Of om de lengte (in cijfers) te bepalen van vijf verschillende getallen die in vijf cellen zijn opgeslagen.
Matrixformules kunnen ook de perfecte manier zijn om voorbeeldgegevens uit grote datasets te halen. Ze kunnen argumenten gebruiken die een celbereik van een enkele kolom, een celbereik van een enkele rij of cellen uit meerdere rijen en kolommen bevatten.
Ook kunnen voorwaardelijke uitspraken worden toegepast bij het ophalen van gegevens in een matrixformule, zoals alleen getallen boven of onder een specifieke waarde trekken of elke n-de waarde trekken.
Met deze gedetailleerde controle kunt u ervoor zorgen dat u een exacte subset van uw gegevens ophaalt, ongewenste celwaarden uitfiltert of een willekeurige steekproef van items neemt voor testdoeleinden.
Hoe een matrix in Excel te definiëren en te maken
Matrixformules zijn op hun meest basale niveau eenvoudig te maken. Voor een eenvoudig voorbeeld kunnen we een factuur beschouwen voor een bestelling van klantonderdelen met de volgende regeliteminformatie: het product SKU (Stock Keeping Unit), de gekochte hoeveelheid, het cumulatieve gewicht van de gekochte producten en de prijs per eenheid gekocht.
Om de factuur compleet te maken, moeten er drie kolommen worden toegevoegd aan het einde van de onderste tabel, één voor de subtotaal van de onderdelen, één voor de verzendkosten en de derde voor de totale prijs van elke lijn item.
U kunt een eenvoudige formule gebruiken om elk regelitem afzonderlijk te berekenen. Maar als de factuur voor veel regelitems was, zou het al snel veel gecompliceerder kunnen worden. Dus in plaats daarvan kan het "Subtotaal" worden berekend met een enkele formule in cel E4:
=B4:B8 * D4:D8
Beide getallen die we vermenigvuldigen zijn celbereiken in plaats van enkele cellen. In elke rij haalt de formule de juiste celwaarden uit de arrays en plaatst het resultaat in de juiste cel zonder verdere invoer van de gebruiker.
Als we uitgaan van een vast verzendtarief van $ 1,50 per pond, kunnen we onze verzendkolom berekenen met een vergelijkbare formule in cel F4:
=C4:C8 * B11
Deze keer hebben we alleen een array aan de linkerkant van de vermenigvuldigingsoperator gebruikt. De resultaten worden nog steeds automatisch ingevoerd, maar deze keer wordt elke uitkomst vermenigvuldigd met een statische waarde.
Ten slotte kunnen we hetzelfde type formule gebruiken dat we gebruikten voor het subtotaal om een totaal te krijgen door arrays van subtotalen en verzendkosten toe te voegen in cel G4:
=E4:E8 + F4:F8
Nogmaals, een eenvoudige matrixformule veranderde wat anders vijf formules zouden zijn in één.
In de toekomst, belastingberekeningen toevoegen naar deze spreadsheet zou slechts één enkele formule moeten worden gewijzigd in plaats van elk regelitem te wijzigen.
Conditionals beheren in Excel-arrays
In het vorige voorbeeld worden rekenkundige basisformules gebruikt in verschillende arrays om de resultaten te produceren, maar eenvoudige wiskunde werkt niet langer voor complexere situaties.
Stel dat het bedrijf dat de factuur in het vorige voorbeeld heeft gemaakt, is overgestapt op een andere vervoerder. In dat geval kan standaardverzending in prijs dalen, maar voor objecten boven een bepaald gewicht kan een vergoeding worden gevraagd.
Voor de nieuwe verzendkosten geldt standaard verzending $ 1,00 per pond, en verzending met een hoger gewicht zal zijn $ 1,75 per pond. Zware verzending is van toepassing op iets meer dan zeven pond.
In plaats van terug te gaan naar het regel voor regel berekenen van elk verzendtarief, kan een matrixformule een IF voorwaardelijke verklaring om de juiste verzendkosten voor elk regelitem te bepalen:
=ALS(C4:C8 < 7, C4:C8*B11, C4:C8*B12)
Met een snelle wijziging van een functie in één cel en de toevoeging van een nieuw verzendtarief in onze tarieventabel, kunnen we nu zien dat niet alleen wordt de hele verzendkolom berekend op basis van gewicht, maar de totalen pikken ook automatisch het nieuwe op prijzen.
De factuur is dus toekomstbestendig, zodat voor elke toekomstige wijziging in de kostenberekening slechts één functie hoeft te worden gewijzigd.
Door meerdere of verschillende conditionals te combineren, kunnen we verschillende acties uitvoeren. Deze logica kan op verschillende manieren worden gebruikt op dezelfde gegevensreeks. Bijvoorbeeld,
- Er kan een extra ALS-functie worden toegevoegd om verzendkosten te negeren als het subtotaal boven een bepaald bedrag komt.
- Er zou een belastingtabel kunnen worden toegevoegd om verschillende categorieën producten tegen verschillende tarieven te belasten.
Hoe complex de factuur ook is, het bewerken van een enkele cel is voldoende om een deel van de factuur opnieuw te berekenen.
Voorbeeld: het gemiddelde nemen van N-de getallen
Naast het eenvoudig maken van het berekenen en bijwerken van grote hoeveelheden gegevens, kunnen matrixformules een deel van een gegevensset trekken voor testdoeleinden.
Zoals het volgende voorbeeld laat zien, is het gemakkelijk om een stukje data uit een grote dataset te halen voor validatiedoeleinden met behulp van matrixformules:
In het bovenstaande voorbeeld gebruikt cel D20 een eenvoudige functie om te middelen elk n-de resultaat van sensor 1. In dit geval kunnen we n-de definiëren met behulp van de waarde in cel D19, waardoor we controle hebben over de steekproefomvang die het gemiddelde bepaalt:
=GEMIDDELDE(ALS(MOD(RIJ(B2:B16)-2;D19)=0;B2:B16,""))
Hierdoor kunt u snel en eenvoudig een grote dataset segmenteren in subsets.
Het beheersen van matrixformules in Excel is essentieel
Deze eenvoudige voorbeelden zijn een goed uitgangspunt om de logica achter matrixformules te begrijpen. Denk er goed over na, zodat u vandaag en in de toekomst snel meerdere bewerkingen kunt uitvoeren door slechts een paar celverwijzingen en functies aan te passen. Matrixformules zijn een lichtgewicht en efficiënte manier om gegevens te segmenteren en te dobbelen. Beheers ze aan het begin van uw Excel-leertraject, zodat u zelfverzekerd geavanceerde statistische berekeningen kunt maken.