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

Bouwblok zoeken behorend bij adres

Status
Niet open voor verdere reacties.

sergiodissel

Gebruiker
Lid geworden
17 dec 2014
Berichten
22
Goedemiddag,

Wij hebben een lijst met bouwblokken van woningen en we ontvangen een lijst met adressen per nummer. Achter deze adressen staat data die we in onze lijst willen hebben. Ik zou graag in kolom I het bouwblok behorend bij het adres willen zoeken. Bijvoorbeeld bij Kerkstraat 48 zou Kerkstraat 46-54 in kolom I erachter moeten komen te staan.
Echter gaat dit niet zo makkelijk omdat ten eerste het format van de adressen in de lijst die we ontvangen anders is dan in onze lijst.
Daarnaast zit er het lastige in dat bij een straat een even en een oneven kant is. Bij sommige straten zitten er zowel even als oneven getallen aan één kant.

Ik heb geprobeerd met met de ALS-functie dit te doen, maar omdat er zowel even als oneven nummers in een straat aanwezig is, lukte het mij niet.
In het bijgevoegde voorbeeldbestand in kolom I heb ik met blauw aangegeven wat het resultaat moet zijn per adres.

Ik hoop dat iemand mij hiermee kan helpen.
Alvast bedankt voor de moeite :)
 

Bijlagen

  • Voorbeeld.xlsx
    8,3 KB · Weergaven: 65
Is het een idee om met postcodes te werken ?
 
Voor Cel I1:
Afsluiten met control shift enter (matrix formule) en doortrekken naar beneden

Code:
=INDEX($A$1:$A$5&" "&$B$1:$B$5&"-"&$C$1:$C$5;MAX((H1>=$B$1:$B$5)*(H1<=$C$1:$C$5)*(G1=$A$1:$A$5)*(ALS(IS.ONEVEN(H1);"on";"")&"even"=SUBSTITUEREN($D$1:$D$5;"beide";ALS(IS.ONEVEN(H1);"on";"")&"even"))*RIJ($1:$5)))

Of met een UFD (zet in een module):

Code:
Function jveer(rng As Range, straat As String, nummer As Integer)
  a = IIf(nummer Mod 2 = 0, "even", "oneven")
     For i = 1 To rng.Rows.Count
           If straat = rng(i, 1) And nummer >= rng(i, 2) And nummer <= rng(i, 3) And a = Replace(rng(i, 4), "beide", a) Then
              jveer = rng(i, 1) & " " & rng(i, 2) & "-" & rng(i, 3)
              Exit Function
           End If
     Next
End Function

Invoeren als: =jveer($A$1:$D$5;G1;H1)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan