Forum Discussion
Vlookup and search partial value as condition
Of iets korter
=X.ZOEKEN(SPATIES.WISSEN(SUBSTITUEREN(SUBSTITUEREN(SUBSTITUEREN(K10; "."; ""); "&"; ""); "BV"; "")); SPATIES.WISSEN(SUBSTITUEREN(SUBSTITUEREN(SUBSTITUEREN(Blad1!$A$10:$A$357; "."; ""); "&"; ""); "BV"; "")); Blad1!$B$10:$B$357; "Niet Gevonden")
bedankt voor je hulp. Deels werkt de formule.
Echter pakt hij niet de gedeeltelijke naam bij alle bedrijfsnamen.
Bijv. een bedrijfsnaam waar in de ene cel bv staat en de andere cel BV
Of er staat bijv. in de ene cel de bedrijfsnaam, en in de andere cel staat er nog Horst achter de bedrijfsnaam.
Eigenlijk zou je willen dat hij zoekt en vergelijkt ook op een gedeelte van de naam, als je bijv. de naam ACB Transportbanden en onderdelen B.V. hebt in een cel en in de andere cel ACB Transportbanden en Onderdelen BV Horst, dat Excel dan zoekt op een gedeelte bijv. ACB Transportbanden en onderdelen en dan de vergelijking vindt in de andere cel en dan de waarde uit een andere kolom toevoegt aan het werkblad.
Is er geen mogelijkheid om een Vlookup te gebruiken en dan een wildsearch toe te voegen of een combinatie met INDEX en MATCH? Met wildsearch zoekt die op de waarde in een cel, maar ook de aanvullende tekens die er staan, zodat die toch de volledige naam herkent.
Bijv. =ALS.FOUT(VERT.ZOEKEN($J42&"?";Blad1!$A$10:$B$357;2;WAAR);"Niet gevonden")
- Diana1005Jul 31, 2024Copper ContributorIk heb ook deze functie al uitgeprobeerd: =ALS(AANTAL.ALS(Blad1!A:A;"*"&J21&"*")>0;INDEX(Blad1!E:E;VERGELIJKEN(1;(ISGETAL(VIND.SPEC("*"&J21&"*"; Blad1!A:A))*1); 0)); ""). Deze geeft een lege waarde terug, terwijl de waarde bijv. 20 moet zijn.
- HansVogelaarJul 31, 2024MVP
Met wildcards kunnen we het vinden als K10 "1466 BV" bevat en kolom A op Blad1 "1466 b.v. Horst".
Maar niet omgekeerd. En voor ingewikkelder gevallen zou je "fuzzy lookup" nodig hebben, maar dat heeft Excel niet ingebouwd. Er is een gratis invoegtoepassing van Microsoft (Fuzzy Lookup Add-In for Excel ,alleen in het Engels), maar mijn beperkte ervaring daarmee is niet onverdeeld positief.
Dit is het beste wat ik kan doen:
=X.ZOEKEN("*"&SPATIES.WISSEN(SUBSTITUEREN(SUBSTITUEREN(SUBSTITUEREN(KLEINE.LETTERS(K10); "."; ""); "&"; ""); "bv"; ""))&"*"; SPATIES.WISSEN(SUBSTITUEREN(SUBSTITUEREN(SUBSTITUEREN(KLEINE.LETTERS(Blad1!$A$10:$A$12); "."; ""); "&"; ""); "bv"; "")); Blad1!$B$10:$B$12; "Niet Gevonden"; 2)
- Diana1005Aug 01, 2024Copper Contributor
HansVogelaar Bedankt Hans voor al je hulp. Ben er echt blij mee.
- Diana1005Jul 31, 2024Copper ContributorEn deze : =ALS(AANTAL.ALS(Blad1!A:A; "*"&J22&"*")>0; INDEX(Blad1!E:E; VERGELIJKEN(1; (ISGETAL(VIND.SPEC("*"&J22&"*"; Blad1!A:A))*1); 0)); "")
Maar ook deze levert een blanco cel op, terwijl er de waarde 20 had moeten staan.
Het lijkt op een klein dingetje te hangen, maar ik zie helaas niet wat de oorzaak is dat deze niet loopt.
Hopelijk kunt u het wel zien.