|
|
|
|
Tips Excel |
|
go to : Index |
|
|
|
|
Tip 75 |
|
|
Deze Tip werd geschreven door Valentin, waarvoor mijn dank. |
|
Gegevens filteren d.m.v. formule |
Op vraag van Rudy De Grauwe heb ik de volgende tip geschreven.
Het voorbeeldbestand kan je hier downloaden. |
|
Rudy wil een boodschappenlijst samenstellen door items aan te vinken(1), en deze items als een aaneengesloten
reeks weergeven in een ander kolom(2). |
|
|
Als we kijken naar onderstaand voorbeeld moeten de cellen in kolom B filteren op het criteria WAAR en de corresponderende rij van kolom C tonen op een andere locatie.
We gaan in deze tip filteren door gebruik te maken van een formule.
We brengen eerst de selectievakjes aan in kolom A en koppelen deze aan de cellen van kolom B, Zie Excel tip 022 . |
|
|
We typen in cel E2 de formule:
=ALS(RIJEN(E$2:E2)>AANTAL.ALS($B$2:$B$25;WAAR);"";INDEX($C$2:$C$25;
KLEINSTE(ALS($B$2:$B$25=WAAR;RIJ($B$2:$B$25)-RIJ($B$2)+1);RIJEN($B$2:B2))))
En drukken CTRL+SHIFT+ENTER
De formule verandert nu in een matrixformule:
{=ALS(RIJEN(E$2:E2)>AANTAL.ALS($B$2:$B$25;WAAR);"";INDEX($C$2:$C$25;
KLEINSTE(ALS($B$2:$B$25=WAAR;RIJ($B$2:$B$25)-RIJ($B$2)+1);RIJEN($B$2:B2))))}
|
|
We kopiëren de formule naar beneden tot en met cel E25 |
|
Het eerste gedeelte van de formule: |
=ALS(RIJEN(E$2:E2)>AANTAL.ALS($B$2:$B$25;WAAR);"";
|
ALS het aantal RIJEN van het celgebied E2 tot en met E2 (=1 ) groter is dan het AANTAL keer dat de waarde WAAR voorkomt (in ons voorbeeld is dit 3) in het celgebied B2 tot en met B25 geef dan niets
|
|
De functie ALS geeft een waarde weer wanneer aan een voorwaarde wordt voldaan, en een andere waarde wanneer aan deze voorwaarde niet wordt voldaan. |
De functie RIJEN geeft als resultaat het aantal rijen in een verwijzing.
|
De functie AANTAL.ALS telt het aantal cellen in een bereik dat voldoet aan een enkel criterium. |
|
Wanneer we één of meerdere vakjes in kolom A aanvinken (maakt niet uit welk) dan is het aantal rijen van het celgebied E2 tot en met E2 ( =1 ) kleiner of gelijk aan het aantal keer dat de waarde WAAR voorkomt
|
( =>1 )in het celgebied B2 tot en met B25 en wordt dus niet aan de ALS voorwaarde voldaan en komt het tweede gedeelte van de formule in aanmerking, |
|
INDEX($C$2:$C$25;KLEINSTE(ALS($B$2:$B$25=WAAR;RIJ($B$2:$B$25)-RIJ($B$2)+1);RIJEN($B$2:B2) |
De functie =INDEX geeft als resultaat een waarde of de verwijzing naar een waarde vanuit een tabel of bereik. |
|
De syntaxis van de functie INDEX heeft de volgende parameter:
INDEX(matrix, rij_getal, [kolom_getal]). |
|
Parameter :1 Matrix =vereist. Een cellenbereik of een matrixconstante. |
|
Als matrix slechts één rij of kolom bevat, is het bijbehorende argument rij_getal of kolom_getal optioneel. |
Als matrix meerdere rijen en kolommen bevat en alleen rij_getal of kolom_getal wordt gebruikt, geeft INDEX als resultaat een matrix van de gehele rij of kolom in matrix. |
|
Parameter 2: rij_getal =vereist. Selecteert de rij in matrix waaruit een waarde moet worden opgehaald. Als u rij_getal weglaat, is kolom_getal een verplicht argument. |
|
Parameter 3: kolom_getal =optioneel. Selecteert de kolom in matrix waaruit een waarde moet worden opgehaald. Als u kolom_getal weglaat, is rij_getal een verplicht argument. |
|
INDEX($C$2:$C$25;= het cellenbereik waaruit we de gegevens moeten ophalen.
voor de tweede parameter van index, rij getal gebruiken we de formule:
|
KLEINSTE(ALS($B$2:$B$25=WAAR;RIJ($B$2:$B$25)-RIJ($B$2)+1);RIJEN($B$2:B2)
|
De functie =KLEINSTE bepaalt de op k-1 na kleinste waarde in een gegevensbereik. Gebruik deze functie om waarden met een bepaalde relatieve positie in een gegevensverzameling op te halen. |
|
De functie =KLEINSTE heeft 2 parameters |
|
Parameter 1:matrix =vereist. Een matrix of een bereik met numerieke gegevens waarin u de op k-1 na kleinste waarde wilt bepalen. |
|
Parameter 2: k =vereist. De positie (geteld vanaf de kleinste waarde) in de matrix of het cellenbereik met gegevens. |
|
Ook hier moeten we net zoals beschreven in Excel tip 068 deel 2 een numerieke waarde toekennen aan de cellen B2 tot en met B25 die de waarde WAAR bevatten. |
|
Wanneer we bv. een vinkje plaatsen bij bloem, melk en olie en we bekijken voor cel E2 de parameter matrix van de functie KLEINSTE, dus het gedeelte ALS($B$2:$B$25=WAAR;RIJ($B$2:$B$25)RIJ($B$2)+1) |
|
Dan geeft dit als resultaat: |
ONWAAR;2;ONWAAR;4;ONWAAR;6;ONWAAR;ONWAAR;ONWAAR;ONWAAR;ONWAAR;
ONWAAR;ONWAAR;ONWAAR;ONWAAR;ONWAAR;ONWAAR;ONWAAR;
ONWAAR;ONWAAR;ONWAAR;ONWAAR;ONWAAR;ONWAAR}
|
|
De parameter K van de functie KLEINSTE geeft dan als resultaat: 1 |
|
Dus voor cel E2 nemen we uit de index C2 tot en met C25 de 1stekleinste waarde(=2) = cel C3, voor cel E3 nemen we uit de index C2 tot en met C25 de 2de kleinste waarde(=4) = cel C5, voor cel E4 nemen we uit de index C2 tot en met C25 de 3de kleinste waarde (=6) = cel C7. |
|
Tip: maak het werkblad visueel aantrekkelijker door kolom B te verbergen: Cursus Excel 2007 Les 16 , selecteer de cellen E1 tot en met E25 en definieer een afdrukgebied: Cursus Excel 2007 Les 80. |
|
Ter informatie: GratisCursus.be denkt aan zijn cursisten, denk ook aan GratisCursus.be |
|
>
|
|
Heb je vragen betreffende deze tip, mail me Valentin |
|
Index |
|