UA-87931690-1

Henk Jan van der Kolk

Spreadsheet Tooltip: importxml voor automatisch aanvullen adres

Stel je eens voor hoe lang het duurt om iemand deze straatnaam correct te laten schrijven; ‘Carolina Macgillavrylaan’. Tijdens een live-uitzending kan dat nét te lang duren. Daar heb ik wat op gevonden; importxml.

Context
Ik werk voor een radioprogramma en doe regelmatig regie. Dan spreek ik ook vaak de kandidaten van onze spelletjes. Als ze wat winnen wordt er een prijs opgestuurd, dus is het belangrijk dat het adres juist wordt genoteerd.

Tijdens onze uitzendingen zijn secondes soms erg kostbaar. En er zijn momenten dat kandidaten binnen tien seconden ‘live’ moeten. Daarom zocht ik een manier om het adres van de kandidaten snel te vinden op basis van postcode en huisnummer.

Databases
Natuurlijk waren er meer mensen met dit probleem; webshops. Zij gebruiken de databases van postcode.nl of postcodedata.nl. Ik gebruik de laatste binnen onze redactie-agenda in Google Spreadsheets, met de functie ‘importxml’.

Formule
De formule in cel C763 ziet er zo uit:

=IMPORTXML(“http://api.postcodedata.nl/v1/postcode/?postcode=”&F763&“&streetnumber=”&D763&“&ref=eo.nl&type=xml”; “//street”)

 

schermafbeelding-2016-11-22-om-21-51-25

 

Deze formule doet het volgende;
De formule staat in het veld waar ik de straatnaam wil hebben. In dit geval cel C763. De functie stelt een url samen op basis van gegevens die zijn ingevoerd in cel F763 – de postcode – en cel D763 – het huisnummer. Wanneer je dat url van ‘http…’ tot ‘…xml’ invoert in je browser, zie je al wat het oplevert; een xml met alle data die bekend is van dat adres.

Het stukje ‘&ref=eo.nl’ is nodig. Blijkbaar wil de database graag bijhouden wie gegevens opvraagt. Bij mijn beste weten kun je hier overigens invullen wat je wilt. Ik hou het maar bij het url van mijn werkgever.

schermafbeelding-2016-11-22-om-22-02-12

XML-pagina met het resultaat

Het laatste stukje – ‘//street’ – is een query die in de xml-pagina zoekt naar de straatnaam. Deze verschijnt als resultaat in cel C763, waar de formule in dit geval in staat.

Voor het weergeven van een plaatsnaam in cel G763 gebruik ik dezelfde formule, maar voer ik de query ‘//city’ uit.

PS
Ik kan natuurlijk een tabblad openzetten met postcode.nl. Maar ik heb alle functies graag in één venster, want ik heb al genoeg tabbladen openstaan tijdens een uitzending. Wisselen kost tenslotte ook weer tijd.

Verder Bericht

© 2018 Henk Jan van der Kolk

Thema door Anders Norén

UA-87931690-1