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

Tekst in een cel zoeken en als tekst aanwezig is dan bijpassende waarde zoeken in een tabel

Status
Niet open voor verdere reacties.

Everrrrt

Gebruiker
Lid geworden
12 apr 2024
Berichten
12
Hi, voor het automatish boeken van een factuur, moet ik in een cel op de excel-factuur de bedrijfslocatie vinden. Als ik die vind, dan staat in een andere tabel de bijbehorende kostenplaats. Op dit moment gebruik ik de formule VIND.SPEC, maar dat is enorm omslachtig.
Heeft iemand een eenvoudigere oplossing?
 
Daar zal je hier best een oplossing voor kunnen krijgen als je een voorbeeld document plaatst.
 
Het gaat in dit geval om cel A6 op het tabblad Document. In die cel wordt ook de locatie genoemd.
In tabblad kostenplaats wordt de bijbehorende kostenplaats gevonden.
 
Niet slim van een alleen lezen document te plaatsen.
 
Waarschijnlijk ben jij de enige die kop en staart krijgt aan al die verschillende bladen en berekeningen.
 
Ik dacht dat dit forum in het leven geroepen was om mensen met een Excel-vraag te helpen, maar blijkbaar ben ik terecht gekomen op Beledigmij.nl. Bedankt voor jullie hulp in ieder geval...
 
Wij heten helpmij.nl
Dat betekent dat wij je willen helpen maar het bestand is voor mij zo onduidelijk. Je geeft ook niet duidelijk aan waar je wat wilt. Dat maakt alles nogal moeilijk. Als ik dan nog ergens deze formule zie dan weet ik ook niet waar ik moet beginnen om je te helpen


=IFERROR(SEARCH(Kostenplaats!$B$4;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$5;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$6;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$7;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$8;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$6;A19);0)+IFERROR(SEARCH(Kostenplaats!$B$10;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$11;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$12;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$13;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$14;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$15;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$16;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$17;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$18;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$14;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$15;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$16;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$19;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$21;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$22;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$23;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$24;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$29;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$30;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$31;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$34;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$35;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$36;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$44;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$52;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$61;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$62;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$63;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$64;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$65;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$66;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$67;A16);0)+IFERROR(SEARCH(Kostenplaats!$B$68;A16);0)
 
Het sheet is misschien te uitgebreid en daardoor is mijn vraag niet meer duidelijk. De kern is: ik krijg van een uitzendbureau een factuur in PDF. Die kan ik converteren naar Excel.
In kolom A van de factuur ga ik op zoek naar de cel (die altijd op de factuur terug te vinden is) met als Omschrijving: naam van de locatie (waar de uitzendkracht heeft gewerkt) en naam van de uitzendkracht. In deze cel ga ik op zoek naar de locatie. De organisatie kent echter meerdere locaties. Elke locatie heeft een eigen kostenplaats. Dit vind je terug in het tabblad Kostenplaats.
Die kostenplaats heb ik nodig als uitkomst.
Met de Vind.Spec functie kan ik één specifieke locatie opzoeken, maar ik wil alle mogelijke locaties meenemen in mijn zoekfunctie. Nu vraag ik me af of er een andere funtie is waarmee ik uit een verzameling van waarden kan zoeken in één cel.
Hopelijk kunnen jullie mij helpen.
 
Wat zou dan in je voorbeeld document de uitkomst moeten zijn?
Bij Omschrijving staat 163836601 Merenwijk Gierdharie, Gabriella
Dat vind ik bij de Kostenplaats niet terug.
En waar zou dan de evt. gevonden Kostenplaats moeten verschijnen?
 
Laatst bewerkt:
Merenwijk is een locatie. Die zal je terugvinden in de tabel Kostenplaats.
Wel een slecht voorbeeld, omdat er blijkbaar een locatie Merenwijk 1 en een locatie Merenwijk 2 is.
Daar was ik nog mee aan het puzzelen.

In de bijlage vind je nogmaals het bestand, maar met in de omschrijving de locatie "Ambachten". Daar hoort kostenplaats 41134 bij (zie tabblad Kostenplaats kolom B voor de factuuromschrijving en kolom D voor de kostenplaats).

In het tabblad Document zie je hoe ik de kostenplaats bepaal. Dat doe ik in kolom O (cel O7) met de vind.spec-functie. Je ziet een hele lange formule, waarbij ik voor elke kostenplaats in de tabel (tabblad Kostenplaats) kijk of ik de betreffende locatie in de omschrijving terugvind.
Als de vind.spec-functie een kostenplaats vind, zal deze functie aangeven waar in de tekst deze omschrijving te vinden is. Met de DEEL-FUNCTIE in kolom P creëer ik vervolgens het zoekwoord.
Met dit zoekwoord zoek ik vervolgens in de tabel op tabblad Kostenplaats en vind ik het kostenplaatsnummer.
De uitkomst komt te staan in kolom J.

Mijn doel is nu om af te komen van die enorme lange Vind.spec-functie in kolom O, want dat zou toch eenvoudiger moeten kunnen?
 

Bijlagen

De oplossing van emields gaat uit van een vaste positie van de locatie in cel A4 van de factuur, kun je daarvan uitgaan?
En die locatie mag ook geen spaties bevatten, maak er maar eens Merenwijk 1 van. Die lange formule zou vervangen kunnen worden door een eenvoudige macro.
 
Daar heb je een punt. De locatie staat zeker niet altijd op dezelfde positie en is niet altijd zonder spaties. Hoe zou ik jouw macro hier kunnen toepassen?
 
Zie Function Kostenplaats in Module1, toegepast in cel O7 op werkblad Document.
Code:
Function Kostenplaats(rng)
    For Each locatie In Sheets("Kostenplaats").UsedRange.Columns("B").SpecialCells(xlCellTypeConstants)
        If locatie <> vbNullString Then
            If Not rng.Find(locatie) Is Nothing Then
                Kostenplaats = locatie.Offset(, 2)
                Exit Function
            End If
        End If
    Next
End Function
 

Bijlagen

Kan nog ietsje korter:
Code:
Function Kostenplaats(rng)
    For Each locatie In Sheets("Kostenplaats").UsedRange.Columns("B").SpecialCells(xlCellTypeConstants)
        If Not rng.Find(locatie) Is Nothing Then
            Kostenplaats = locatie.Offset(, 2)
            Exit Function
        End If
    Next
End Function
 
Hi, ik heb geen ervaring met functies en op één of andere manier werkt het bij mij niet. Via de properties van het bestand heb ik een vinkje gezet bij "Unblock" bij de melding "This file may come from a computer and might be blocked top help protect this computer".
Bij het openen van het bestand krijg ik de melding: "Beveiligingsmelding Macro's zijn uitgeschakeld" en "Inhoud inschakelen". Ik kies voor "Inhoud inschakelen".
In cel O7 met de functie kostenplaats(A6) staat nu een nul.
Indien ik in het geplakte document Merenwijk vervang door Zeehelden, krijg ik als uitkomst #NAAM? in Cel O7.
Wat doe ik fout?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan