|
|
|
|
Tips Excel |
|
go to : Index |
|
|
|
|
Tip 143 |
|
|
Deze Tip werd geschreven door mezelf |
|
Een zoekbare validatielijst (Deel 1) |
Op vraag van Hermine Viaene leg ik jullie uit hoe je een validatielijst maakt die, afhankelijk van ingetypte zoekletters, wijzigt.
Een dynamisch zoekbare validatielijst dus.
|
Het voorbeeldbestand kun je hier downloaden |
|
Zoals je kunt zien heb ik in cel B2 een validatielijst die is gebaseerd op de lijst in kolom G.
In deze lijst staan "slechts" 148 namen, dus dit valt nog mee om de juiste persoon te zoeken in de validatielijst, maar toch. Stel je voor je hebt er duizenden, en je weet slechts een deel van de naam.
Ik kan je garanderen je vindt deze nooit. |
|
|
Wat ik hiervoor nodig heb is een validatielijst die, afhankelijk van de ingetypte letters in de cel, dynamisch geupdate wordt.
Dus typ ik bijvoorbeeld bart of Bart in het validatievak, dan wil ik enkel de personen terugvinden die aan deze voorwaarde voldoen, in de validatielijst. |
|
|
Typ ik de letters ceu, dan worden enkel de personen weergegeven waarin deze letters voorkomen.
Zoals bijvoorbeeld "Ceurvels", "Ceulemens, "Ceustermans" en nogmaals "Ceulemans".
De eerste was een voetballer, de tweede een biljarter.
Dit even ter verduidelijking voor onze Nederlandse vrienden. |
|
|
Of deze letters zich bevinden in de voornaam of familienaam, dit maakt niks uit.
Wanneer ze er in staan en in de juiste volgorde, dan worden deze opgenomen in de vaidatielijst. |
|
|
Laat ik beginnen met het begin.
Het eerste wat we gaan doen is zoeken of de ingetypte tekst in cel D2, hetzelfde is dan de gegevens in onze lijst in kolom G.
De formule hiervoor is:
=ALS(ISGETAL(VIND.SPEC($D$2;G2));MAX($F$1:F1)+1;0)
Ik probeer deze even uit te leggen.
(VIND.SPEC($D$2;G2)
De functie VIND.SPEC zal de ingetypte tekst in D2 zoeken in cel G2.
De cel D2 maken we absoluut want de formule wordt later gekopieerd naar onder.
De functie ISGETAL zal de waarde weergeven als WAAR of ONWAAR.
De functie ALS +1;0 zal deze waarden omzetten in getallen, en wanneer hij er een heeft gevonden er een bijtellen.
Heeft hij er geen gevonden dan geeft hij een nul weer.
Dus als de waarde in cel D2 gelijk is aan de waarde van cel G2, dan geef je me een één, is dit niet het geval dan geef je me een nul.
Het getal 1 voorzie je van een plusteken omdat hij er telens wanneer dit het geval is één moet bijtellen.
De functie MAX($F$1:F1) zal deze zoekopdracht uitvoeren
in het bereik $F$1:F1. En ook hier maken we de eerste celverwijzing absoluut. |
|
|
Dus kopiëren we deze cel naar onder, dan zal je zien dat telkens hij de ingetypte letter in cel D2 vindt in kolom G hij er één zal bijtellen. |
|
|
We gaan verder in deel 2
|
|
|
>
|
|
|
Index |