• 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.

Categorie toewijzen op basis van een gedeelte van de tekst

Status
Niet open voor verdere reacties.

Pedi2020

Gebruiker
Lid geworden
7 mei 2020
Berichten
21
Goedemiddag,

Ik ben nu bijna de hele dag bezig met een volgens mij simpele formule, maar het lukt me nog niet.
Hieronder het voorbeeld van het bestand waar het om gaat. De oranje gearceerde velden moeten (automatisch) worden gevuld:

vbb1.png

Deze moeten worden gevuld op basis van een 'herkenningswoord' uit het tweede tabblad:

vbb2.png

Als in de omschrijving op het eerste blad bijvoorbeeld de tekst 'Optima' voorkomt, moet hij uit het tweede tabblad afleiden dat het dan om het merk 'Kia' gaat en deze automatisch invullen.
Ik heb zelf al veel combinaties geprobeerd met ALS, VIND.SPEC, ISGETAL, ISFOUT, maar ik krijg nog niet het resultaat dat ik eruit wil hebben. Is er iemand die mij kan en wil helpen de juiste formule te vinden?

Alvast bedankt!

P.S. ik heb het bestand bijgevoegd in de bijlage.
 

Bijlagen

Wat dacht je van zoiets? (N.B.: matrixfunctie, d.w.z. afsluiten met Control+Shift+Enter als je geen Excel 365 gebruikt)
Code:
A2: =ALS.FOUT(INDEX(Merken!$B:$B;1/(1/MIN(ALS(ISGETAL(VIND.SPEC(Merken!$A$2:$A$7;C2));RIJ($2:$7)))));"?")
Mocht je Excel 365 gebruiken kan deze ook:
Code:
A2: =FILTER(Merken!$B$2:$B$7;ISGETAL(VIND.SPEC(Merken!$A$2:$A$7;C2));"?")
 
Laatst bewerkt:
Dank je! De formule werkt.

Zou je ook kunnen uitleggen hoe de formule werkt/is opgebouwd? Ik wil het graag begrijpen. Ik snap bijvoorbeeld niet waar je RIJ voor gebruikt.
 
Ok, korte toelichting:

=ALS.FOUT(INDEX(Merken!$B:$B;1/(1/MIN(ALS(ISGETAL(VIND.SPEC(Merken!$A$2:$A$7;C2));RIJ($2:$7)))));"?")

1. Het stuk ALS(ISGETAL(...)) is een matrixfunctie. D.w.z. dat de functie een serie uitkomsten heeft, en niet een enkele waarde. Door invoer als matrixfunctie zorg je ook dat eerst rij 2 bekeken wordt, dan rij 3, dan rij 4 .... en tenslotte rij 7.
2. In dit geval wordt C2 vergeleken met elk model in cel A2:A7. De uitkomst is ONWAAR/ONWAAR/ONWAAR/WAAR/ONWAAR/ONWAAR. Daar waar WAAR staat wordt het bijbehorende RIJ-nummer ingevuld.
3. De 1/(1/...) staat er om een foutmelding te genereren als er geen overeenkomst is. Uitkomst van de MIN-functie is dan 0 namelijk, en delen door 0 = foutmelding. Zodra het wel een getal is krijg je gewoon het origineel terug met deze bewerking.
4. De MIN functie zoekt het laagste RIJ-nummer, oftewel de rij met het modeltype dat gevonden is. De INDEX zoekt het merk erbij op, op basis van dit RIJ-nummer.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan