• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

2 definitiekolommen koppelen aan kolom diverse waarden

Status
Niet open voor verdere reacties.

gerryp

Nieuwe gebruiker
Lid geworden
31 mei 2016
Berichten
2
Bekijk bijlage probleemexcel.xlsx

Dag allemaal, na een zoektocht van enkele dagen vind ik geen oplossing voor onderstaand probleem dat op het eerste zicht eenvoudig lijkt, maar boven mijn petje blijkt te zijn...:confused:
Een dikke dankjewel wie mij op het juist spoor zou kunnen zetten.:thumb:

Om het probleem zo eenvoudig mogelijk voor te stellen heb ik een soortgelijke tabel gemaakt doch zeer sterk vereenvoudigd. Een woordje uitleg :

In één tabblad (records) van een tabel heb ik in de eerste kolom van de tabel codes (1,2,3,4,....) die soms niet voorkomen, soms meerdere keren voorkomen : 1,1,2,4,4,4,4,5,6,7,7,7,8,8,8,...
In tabblad twee (definities) staan in kolom 1 dezelfde codes, maar in volgorde en telkens slechts éénmaal vernoemd en telkens in de 2de kolom de bijbehorende definitie van de code : kolom 1 : 1,2,3,4,5...; kolom 2 : a,b,c,d,e,f,...

Nu zou ik graag in tabblad één de bijbehorende definitie in een aanpalende kolom zetten. Dus kolom 1 : 1,1,2,4,4,4,4,5,6,7,7,7,8,8,8,... en kolom 2 : a,a,b,d,d,d,d,e,f,g,g,g,h,h,h,...

Belangrijk nog is dat in werkelijkheid in tabblad 2 een 400-tal definities staan en in tabblad 1 een 8000-tal codes....

Wie kan een handje toesteken ?
 
Onderstaande formule in cel B1 van Blad 'records' zetten en doorvoeren naar onderen.
Code:
=VERT.ZOEKEN(A1;definitie!$A$1:$B$9;2;0)
 
Mijns inziens is het meest efficiënt een VERT.ZOEKEN met niet-geheel-exacte overeenkomst, met een extra ZOEKEN om er zeker van te zijn dat de gevonden code ook de gezochte code is. Deze oplossing vereist dat de codes in 'definitie' oplopend gesorteerd zijn.
Een en ander resulterend in de volgende formule in B1 en gekopieerd naar beneden:
Code:
=ALS(ZOEKEN($A1;definitie!A:A)=$A1;VERT.ZOEKEN($A1;definitie!A:B;2);NB())
 
Dankjewel !!!!

Dankjewel voor de snelle en vooral doeltreffende reactie !:thumb:
 
Lekker ingewikkeld Marcel, wat is het verschil in retourwaarde?
 
Ehm, geen verschil en qua snelheid maakt het ook geen fluit uit (ik had verwacht dat een niet-exacte match een stuk sneller zou zijn, maar beide oplossingen zijn snel zat). Met 400.000 rijen en 400 codes kom ik handgeteld op 3 seconden voor mijn formule en 4 seconden op die van HSV, dus bij 8.000 rijen en 400 codes is de tijd en het verschil ongeveer nihil.

Maar ja, als er zoveel moeite is gedaan om de vraag te formuleren (waarvoor mijn complimenten :thumb:) is het natuurlijk ook wel zo aardig om wat moeite in het antwoord te steken. :rolleyes:

Rest mij nog in dit geval de formule van HSV aan te bevelen. :D
 
Het is een goed geformuleerde/omschreven vraag die ik zelden tegenkom.

Ik heb zo mijn vermoedens dat het aan de tijd van plaatsing ligt Marcel.
Ik denk dat het al een reactie is op mijn antwoord, en die vind ik meer dan netjes. :thumb:

Overigens maakt het mij niet uit welke formule gekozen wordt (mits onderbouwd), zolang er maar geantwoord wordt op de vraag. :)
 
Ja dat klopt, die tijd van plaatsing. Mijn post #3 was geen reactie op jouw post #2. We waren er tegelijkertijd mee bezig.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan