Categorie archief: Excel

G-Info en de functie G_Info()

In mijn vorige artikel heb ik het gehad over de functies CEL() en INFO().
LET OP
: in Excel en Access wordt een functie altijd gevolgd door 2 ronde haken. Bij de meeste functies worden tussen die haakjes argumenten meegegeven.

De naam van die tweede functie triggerde me om een eigen functie G-Info() te ontwikkelen. Maar wat zou die functie moeten doen?

Deze week kwam ik op een idee: wij moesten al nadenken wanneer we volgend voorjaar een korte vakantie zouden plannen; ergens met Hemelvaart of Pinksteren. Maar op welke data vallen die volgend jaar?

Ik wist nog wel, dat deze feestdagen afhankelijk zijn van Pasen, maar wanneer is het nu precies eerste Paasdag?

Pasen

Even “googlen” en al snel was ik een stap verder. Wikipedia:

Het concilie van Nicea bepaalde in 325 dat Pasen moet worden gevierd op de zondag na de eerste volle maan in de lente.

We hoeven dus alleen maar te weten wanneer de lente begint, wanneer het dan weer volle maan wordt en wat dan de eerstvolgende zondag is en we zijn klaar!!

PasenNog maar even verder op Google rondgeneusd en toen bleken er al diverse voorbeelden beschikbaar voor het bepalen van de datum van eerste Paasdag.

Dat is dus minder makkelijk dan ik gedacht had!
Met dank aan de bedenkers van deze routine gaan we dit gebruiken als bouwsteen voor onze nieuwe functie G-Info().

In het Voorbeeldbestand kunt u deze functie aan het werk zien:

Pasenwanneer in cel C2 een jaartal wordt ingetikt zal in cel D2 worden weergegeven, wanneer Pasen in dat jaar valt.

In cel D2 staat de formule =BepaalPasen(Jaar). Wanneer deze functie wordt ingetikt, zal in eerste instantie in D2 een getal komen. Door deze cel een datum-opmaak mee te geven zien we, dat Pasen in 2014 op 20 april is geweest. Ik heb de cel een aangepaste opmaak meegegeven: niet alleen de datum komt in cel D2, deze wordt vooraf gegaan door de tekst “Pasen valt op”.

LET OP: het Voorbeeldbestand bevat een viertal zelf-gedefinieerde namen, zodat de gebruikte formules veel beter leesbaar zijn. Cel C2 bijvoorbeeld heeft de naam Jaar gekregen.
Voor uitleg over het definiëren van namen, zie het artikel Namen ipv celverwijzingen.

G_Info()

De functie G_Info() vormt een uitbreiding op de functie BepaalPasen. Als parameter/argument wordt niet allen het jaar meegegeven, maar ook van welke feestdag de datum bepaald moet worden. Als derde parameter dient nog meegegeven te worden of de functie een datum moet retourneren (een getal dus) of een tekst.

FeestdagenAls voorbeeld: in C7 staat de formule =G_Info(Jaar;$B7;C$6).
Deze levert als resultaat de datum voor Pasen (cel B7) in het jaar 2014 en wel als echte datum (niet als tekst; cel C6)). Het resultaat is een getal, die een datumopmaak mee heeft gekregen.

PS1 let op de $-tekens in de formule; deze zijn zodanig gekozen, dat bij het kopiëren van de formule (naar rechts en naar beneden) de juiste verwijzingen blijven bestaan.
PS2 ik had de formule graag G-Info genoemd, maar het -streepje is in een functienaam niet toegestaan.

De formule in cel D7 geeft ook de Paasdatum weer, maar nu is het resultaat een tekst.

Naast de Paasdatum levert G_Info() ook de data voor Pinksteren, Carnaval, Hemelvaart, Kerstmis en Nieuwjaar (die laatste 2 liggen nogal voor de hand!). Zoals we hierna zullen zien, zijn uitbreidingen makkelijk door te voeren. Een verjaardag of huwelijksdag vergeten is er dus niet meer bij!

VBA

Eigen functies (in het Engels: User Definied Function, UDF) worden op dezelfde plaats gedefinieerd als waar macro’s worden geregistreerd: in de VBA-editor. Wanneer u daar nog nooit mee hebt gewerkt, bekijk dan het betreffende artikel.

Een korte uitleg van het programma:

PasenVBA1

Allereerst definiëren we de naam van de functie: G_Info.
NB zoals al eerder aangegeven is een – (streepje) niet toegestaan.
Daar achter, tussen haakjes, geven we aan welke parameters/argumenten/waarden aan de functie worden meegegeven: het Jaar, waarvoor de feestdagen bepaald moeten worden (moet een Integer=geheel getal zijn), voor welke Feestdag moet er informatie opgeleverd worden (een String=tekst) en een parameter TekstUitvoer (van het type Boolean; kan alleen de waarden WAAR of ONWAAR bevatten).
De groene tekst (achter het ‘-teken) is commentaar en wordt door het programma niet gebruikt.
In het vervolg van het programma willen we tusseninformatie ‘onthouden’ daarom definiëren we via Dim een variabele x.
PasenVBA2Het programma moet nu afhankelijk van de inhoud van de parameter Feestdag de datum van Pasen of van Pinksteren of van Carnaval etcetera genereren.
Binnen VBA is daar een handige constructie voor:
Select Case ….
     Case Voorwaarde1
Vervolg1
      Case Voorwaarde2
Vervolg2
……
End Select
Wanneer in onze functie aan de parameter Feestdag de waarde Pasen wordt meegegeven, moet het programma de Paasdatum gaan bepalen. Afhankelijk van de inhoud van TekstUitvoer (WAAR of ONWAAR) levert het programma een tekst of een datum/getal op. Dit resultaat wordt in de hulpvariabele x bewaard.
PasenVBA3De Select-optie wordt afgesloten met een Case Else: als er aan de parameter Feestdag een andere tekst wordt meegegeven dan waar in ons programma rekening mee is gehouden, zal dit programmagedeelte worden uitgevoerd.

Na afsluiting van de Select-constructie (dus na End Select) moeten we nog zorgen, dat de de functie in Excel het resultaat van het programma weergeeft. Aangezien we het resultaat in de variabele x hebben vastgelegd sluiten we de functie af met G_Info=x.

Het mag nu niet moeilijk meer zijn om de functie uit te breiden met voor u belangrijke feestdagen als verjaardag, huwelijksdag enzovoorts.

PS de twee in het Voorbeeldbestand gebruikte functies (BepaalPasen en G_Info) zijn zonder aanpassingen ook bruikbaar in Access. Kopieer de functies naar de VBA-omgeving (Module) van Access en u kunt ze direct in een query inzetten.

Kalender

In het voorbeeld is ook een jaaroverzicht opgenomen, waarin direct de diverse feestdagen worden geaccentueerd:
Feestdagen2In dag 1 van januari staat de formule =Datum(Jaar;Maand;Dag) en deze formule is naar rechts en naar beneden gekopieerd. Deze Excel-functie genereert afhankelijk van het jaar, maand- en dagnummer de betreffende datum (in Excel-formaat, dus een getal; zie ook het betreffende artikel over Datums).
Jaar is de naam van cel C2, Maand de naam van het bereik met de cijfers 1 t/m 12 voor de maandomschrijvingen en Dag is het bereik met de cijfers 1 t/m 31.
Alle betreffende cellen hebben bij cel-eigenschappen het datumformaat “ddd” meegekregen: dus alleen de weekdag wordt afgekort getoond.

De blanco cellen op het einde van diverse maanden, de kleuren voor de weekenden en de kleuren voor de feestdagen worden m.b.v.  Voorwaardelijke opmaak geregeld (via de menu-optie Start in het blok Stijlen).
Feestdagen3


Cel & Info

Naar aanleiding van een vraag van een collega (“Kan ik de naam van een tabblad in een cel weergeven?“) kwam ik 2 ondergewaardeerde(?) functies van Excel tegen: CEL en INFO.

Ik dacht, dat het antwoord op de vraag mbv INFO zou kunnen worden gevonden, maar dat was niet het geval; wel met CEL.
Dus maar eens even de 2 functies onder de loep nemen en kijken wat de mogelijkheden en verschillen zijn.

Functie INFO

Deze functie retourneert informatie over de huidige besturingsomgeving.
De formule =INFO(“versie-excel”) bijvoorbeeld levert op mijn PC  als resultaat 14.0.

LET OP: de gewenste informatie (in het voorbeeld excel-versie) moet tussen aanhalingstekens staan, anders denkt Excel dat je een verwijzing naar een zelf-gedefinieerde naam meegeeft.

INFO() kan 7 verschillende soorten informatie genereren:

  1. map: de laatst gebruikte/actieve directory (dus niet persé de directory waarin de onderliggende werkmap wordt weggeschreven!!)
  2. aantal_bladen: aantal werkbladen, die op dit moment binnen Excel gebruikt worden (al dan niet zichtbaar; ook bladen in verborgen werkmappen worden meegeteld)
  3. begin: geeft aan welke cel linksboven op dit moment zichtbaar is (altijd voorafgegaan door $A:)
  4. versie_besturing: onder welke versie van het  besturingssysteem wordt Excel gebruikt
  5. herberekening: staat Excel in de Automatische of Handmatige stand? (aan te passen via Formules/Berekeningsopties)
  6. versie_excel
  7. systeem: naam van de besturingsomgeving; Macintosh = ‘mac’ en Windows = ‘pcdos’

LET OP: in eerdere versies van Excel was het ook mogelijk om informatie over het geheugen op te vragen ( “beschikbaar_geheugen”, “geheugen_gebruikt” en “totaalgeheugen”); deze opties worden niet meer ondersteund.

De 5e optie (herberekening) is handig bij het gebruik van grote spreadsheets. Wanneer de rekentijd exorbitant groot wordt, is het gebruikelijk om tussentijds herberekening op Handmatig te zetten. Om te voorkomen dat bij het beoordelen van de resultaten naar ‘oude’ uitkomsten wordt gekeken, kun je de status van herberekening op deze manier bij de resultaten weergeven.
In het Voorbeeldbestand is via voorwaardelijke opmaak de status van herberekening duidelijk te onderscheiden.

Voor de overige opties zie ik weinig toepassingsmogelijkheden in de praktijk. Graag een reactie, wanneer u wel een zinvolle toepassing hiervoor heeft.

Functie CEL

Waar de functie INFO() informatie over de besturingsomgeving levert, geeft de functie CEL() u inzicht in de opmaak, locatie of inhoud van een cel.
De formule =CEL(“bescherming”;A1) bijvoorbeeld geeft de waarde 0 als cel A1 niet is vergrendeld en 1 als de cel wel is vergrendeld.

Bij deze functie kent Excel 12 opties:

  1. adres: de verwijzing naar de betreffende cel
  2. kolom: kolomnummer van de cel
  3. kleur: de waarde 1 als de cel kleuropmaak voor negatieve waarden bevat, anders is het resultaat 0 (nul)
  4. inhoud: de inhoud van de cel
  5. bestandsnaam: de bestandsnaam (met het volledige pad en naam van het werkblad) van het bestand dat de cel bevat; deze is leeg als het bestand nog niet is opgeslagen
  6. notatie: code voor de getalnotatie van de cel. De standaardnotatie levert een S, een datum voor D1 etc. Experimenteer met de mogelijkheden.
  7. haakjes: de waarde 1 als de cel een notatie bevat waarmee positieve waarden of alle waarden tussen haakjes worden geplaatst; anders is het resultaat 0
  8. voorvoegsel: geeft als resultaat een enkel aanhalingsteken (‘) als de cel links uitgelijnde tekst bevat, een dubbel aanhalingsteken (“) als de cel rechts uitgelijnde tekst bevat, een caret (^) als de cel gecentreerde tekst bevat, een backslash (\) als de cel uitgevulde tekst bevat en lege tekst (“”) als de cel iets anders bevat
  9. bescherming: de waarde 0 als de cel niet is vergrendeld en 1 als de cel wel is vergrendeld
  10. rij: rijnummer van de cel
  11. type: geeft als resultaat “g” (leeg) als de cel leeg is, “l” (label) als de cel een tekstconstante bevat en “w” (waarde) als de cel iets anders bevat
  12. breedte: de kolombreedte van de cel, afgerond op een geheCel Infoel getal

In het Voorbeeldbestand op het tabblad Cel2 ziet u wat de diverse opties opleveren (alle formules ‘kijken’ naar cel C2).

LET OP: in de gebruikte formules (bijvoorbeeld in cel C7 staat =CEL(B7;$C$2)) worden geen aanhalingstekens gebruikt, aangezien naar de inhoud van cellen wordt verwezen (hier B7).

LET OP: als het argument Verw een cellenbereik is, haalt de functie CEL alleen de informatie op voor de cel linksboven in het bereik.

Veel van bovenstaande opties kunnen worden gebruikt bij het controleren, beveiligen en fool-proof maken van spreadsheets.

Zoals u ziet geeft de functie CEL() niet direct een antwoord op de vraag van mijn collega (wat is de naam van het tabblad), maar die kunnen we via het type bestandsnaam wel afleiden:
=RECHTS(CEL(“bestandsnaam”;A1);LENGTE(CEL(“bestandsnaam”;A1))-VIND.ALLES(“]”;CEL(“bestandsnaam”;A1)))

Wanneer we =CEL(“bestandsnaam”;A1) gebruiken, zien we dat de naam van het tabblad wordt vooraf gegaan door een ] (rechte sluithaak).
Via VIND.ALLES zoeken we de positie van dit teken op. Alles tot en met die positie kunnen we missen, oftewel alles rechts daarvan hebben we nodig. Hoe lang is dat gedeelte dat we nodig hebben? De oorspronkelijke lengte minus de positie van het ]-teken. Simpel toch?

Functie CEL (2e versie)

In de voorbeelden op het tabblad Cel2 hebben we gebruik gemaakt van de uitgebreide versie van de CEL-functie (ook de meest gebruikte en gangbare).

Bij het gebruik van de functie kun je echter ook de verwijzing naar een cel weglaten. Excel zal dan alle informatie, zoals hiervoor besproken, laten zien van de laatst gebruikte cel. Op deze manier is het mogelijk om te volgen welke activiteit en op welke plaats de vorige handeling in Excel is geweest (soms moet er eerst een herberekening plaats vinden, via de F9-toets, voordat het resultaat zichtbaar is).

Experimenteer met de mogelijkheden met behulp van het tabblad Cel1 in het voorbeeldbestand.


Doel zoeken in de Tour de France

Onze vakantie-bestemming is toch Frankrijk geworden: we zijn in de Provence terecht gekomen.

Gordes

Nog mooier: we hebben vorige week de Tour de France live meegemaakt.
In de etappe naar Nîmes zou de karavaan ook langs Gordes gaan (75 km voor de finish). Dat leek ons een mooie gelegenheid om 2 leuke zaken te combineren: een bezoek aan het schilderachtige, pittoreske kunstenaarsdorpje en kijken of we ‘onze jongens’ nog aan het werk zouden kunnen zien (en misschien nog iets leuks vangen bij de reclamekaravaan!).

Na enkele uren in de brandende zon (gelukkig had ik een petje van de Carrefour kunnen bemachtigen) kwamen daar de 2 koplopers aan: de Zwitserse kampioen Elmiger en de Amerikaan Bauer. Zo te zien was het scherpe bij die jongens er ondertussen vanaf. Ik schat hun snelheid op ongeveer 40 km/uur.

Hoofdrekenen

Daarna was het 6 minuten lang stil tot we in de verte het peloton aan zagen komen.
Ik vroeg me af hoe hard ze eigenlijk zouden moeten fietsen om voor de finish in Nîmes de koplopers in te halen: 6 minuten voorsprong, dat is 1/10 uur, dus met 40 per uur waren de 2 koplopers al 4 km verder. Dus voor hen resteerden dan nog 71 km. Met een gemiddelde snelheid van 40 km/uur zou dat iets minder dan 1,8 uur zijn (pakweg 106 minuten). In diezelfde tijd zou het peloton dan nog 75 km moeten gaan oftewel een dikke 42 km/uur.

Hoofdrekenen TourPoeh, hoofdrekenen in de vakantie, in de volle zon, viel nog niet mee! En wat nog erger was: in die tijd was het peloton, inclusief lange stoet volgwagens al weer om de volgende bocht verdwenen.

Dus ik dacht, daar moet ik toch maar een Excel-sheet aan wijden (en zorgen dat ik, bij een volgend bezoek aan de Tour, Excel bij me heb!). De berekening is redelijk recht toe recht aan (zoals hierboven uitgelegd). Maar dit is ook wel een mooie gelegenheid om eens een keer het onderdeel Doelzoeken van Excel toe te lichten.

Doelzoeken

In het voorbeeldbestand heb ik een overzicht gemaakt na hoeveel tijd de diverse rijders Tour2(kopgroep of peloton) bij km 75, 70, 65 etc zijn afhankelijk van hun snelheid:
bij 75 km is de tijd voor het peloton 0 en voor de kopgroep -6 min, bij 70 km is dat respectievelijk 7,5 en 1,5 minuut (er even van uitgaande dat iedereen 40 km/uur blijft fietsen).
Onder deze veronderstellingen is de kopgroep dan na 106,5 minuten in Nîmes en het peloton in 112,5. Nog steeds een verschil van 6 minuten.

Door de gemiddelde snelheid van het peloton aan te passen (in cel C8) kun je zien wat het effect op het verschil bij de finish is. Door de snelheid zodanig te kiezen, dat het verschil 0 is, weet je hoe hard het peloton gemiddeld moet rijden om er in ieder geval nog een sprintersetappe van te maken.

Die laatste stap (moet het 42 zijn? Nee iets meer. 42,2? Nog iets meer) kunnen we Excel laten doen via Doelzoeken:

  1. kies in de menubalk Gegevens
  2. bij de Hulpmiddelen voor Gegevens, de optie Wat-als-analyse
  3. en dan de optie Doelzoeken
  4. bij Cel instellen moet de cel met de waarde voor het verschil op de finish komen: dus cel F28
  5. die cel moet 0 worden: dus Op waarde wordt 0
  6. Door wijzigen van cel moet zijn C8 (snelheid van peloton)
  7. klik OK en nogmaals OK
  8. en ook Excel komt met 42,25 km/uur (iets vlugger dan mijn hoofdrekenen!)

Zomer-links

Nu de spanning van het WK-voetbal weg is, kunnen we ons weer focussen op andere zaken.

Tour de FranceDe Tour de France is ondertussen al weer 10 dagen onderweg; ook daar val je van de ene verrassing in de andere.

Ben benieuwd of de Nederlanders nog meer verrassingen voor ons in petto hebben (dank, Lars!)

Misschien dat ik ze de komende weken nog ergens ga tegenkomen: ik ga een paar weken vakantie vieren (maar of het Frankrijk gaat worden?).

Voor degene, die deze zomer door moeten werken, heb ik een paar links naar websites:

  1. DE site, waar altijd wel iets interessants te vinden is: chandoo.org
  2. worksheet.nl
  3. exhelp.be

ChandooZeker de website van Chandoo is de moeite waard. Ik heb daar menig goed idee opgedaan!


GPX? XML! dus Excel

StravaVorige week heb ik een fietstocht georganiseerd voor een groep collega’s; mooi weer, wat heuvels, prachtige omgeving, gezellige mensen: wat wil een mens nog meer?
Nou, wat minder discussie over het aantal gefietste kilometers en de geklommen hoogtemeters zou prettig zijn!

Zeker nu steeds meer fietsers gebruik maken van een GPS (al dan niet op de smartphone) en de kilometers op Strava worden gezet, eindigt een fietstocht vaak in een langdurige twist over de exacte cijfers van de geleverde prestatie.
Trouwens niet alleen bij het fietsen gebeurt dit; ik ken een fanatieke groep wandelaars waar na een tocht flink wordt overlegd welk aantal kilometers aan het thuisfront kan worden gemeld (het hoogste natuurlijk!).

GPX

Om te onderzoeken waar de verschillen door worden veroorzaakt, kwam ik er al snel achter, dat dit inherent is aan het gebruik van een GPS. De verbinding met de satellieten is niet altijd optimaal, waardoor verstoringen kunnen optreden. Zeker wanneer het gaat over het meten van de hoogte, laat menige GPS nog wel eens een steek vallen. Of ineens is de ontvangst beter en geeft de GPS een stijging (of daling) aan terwijl je stil staat!

Om de resultaten beter te kunnen vergelijken heb ik de tocht, die ik op Strava had gezet, geëxporteerd naar een GPX-bestand. Dit type bestand wordt bij navigatie-software meestal als standaard voor uitwisseling gebruikt. Soms is een dergelijk bestand direct van de GPS of smartphone te downloaden; anders kun je het omzetten met behulp van een programma als bijvoorbeeld Basecamp.

Nader onderzoek (met het alom gewaardeerde hulpmiddel Kladblok) leverde op, dat het eigenlijk een XML-bestand is.

XML

XML begint de Haarlemmermeerolie voor bestandsuitwisseling te worden. Deze standaard wordt door steeds meer pakketten ondersteund, waaronder zeker ook al jaren door Excel!

Waarom ik als titel voor deze blog “GPX? XML! dus Excel” heb gebruikt mag nu duidelijk zijn.

GPX importeren in Excel

Het voert te ver om hier alles rond XML uit de doeken te doen, dus ik geef een verkorte handleiding hoe de GPX-file in te lezen in Excel:

  1. Open Excel, zorg dat er geen bestand geopend is
  2. download een GPX-bestand (van Strava, GPS, internet)
  3. sleep het GPX-bestand naar het Excel-symbool op de werkbalk, Excel klapt dan open, sleep het GPX-bestand nu in Excel (de cursor krijgt dan een plusje) en laat de muis-button los
  4. Excel geeft een foutmelding, maar die negeren we gewoon, dus op JXMLa klikken
  5. in het volgende dialoogscherm kies je de eerste optie (Als een XML-tabel)
  6. 2 keer waarschuwingen negeren door OK te klikken en daar is onze route!

XML2

Excel maakt er direct een zogenaamde tabel van; in latere verwijzingen zie je de naam Tabel2 terugkomen. Binnenkort toch eens wat vertellen over de (nieuwe) mogelijkheden van tabellen!

Niet alle kolommen zijn voor ons interessant, maar E en F leveren de coördinaten (lat=latitude/breedtegraad, lon=longitude/lengtegraad), G de hoogte (ele=elevation), H een samengepakte vorm van de dag en het bijbehorende tijdstip en I de temperatuur op dat moment.

GPX-analyse

We gaan dit bestandje nu verder analyseren: download het Voorbeeldbestand.

In het eerste werkblad staan de gegevens van Strava. Ik heb een tweede werkblad aangemaakt (Berek), waarin we diverse berekende kolommen zien:

  1. in kolom A ‘knippen’ we het tijdstipXML3 los van de datum door een DEEL er van te pakken. Aangezien dit dan een tekst is, maken we er via TIJDWAARDE een echte tijd van.
  2. in B3 staat de formule
    =AFRONDEN(6370973,27862*((2*BOOGSIN(WORTEL((SIN((RADIALEN(Strava!E2)-RADIALEN(Strava!E3))/2)^2)+COS(RADIALEN(Strava!E2))*COS(RADIALEN(Strava!E3))*(SIN((RADIALEN(Strava!F2)-RADIALEN(Strava!F3))/2)^2)))));0)
    Het voert te ver om deze door te spitten, maar uit de coördinaten van het tijdstip uit regel 3 en die van de vorige regel, wordt de afstand daartussen bepaald (in meters).
  3. in C gaan we die meters gecumuleerd volgen (als kilometers)
  4. D bevat de verstreken tijd tussen twee metingen en E de gecumuleerde tijd
  5. en in F staat de snelheid: B gedeeld door D.
    Wel even opletten: we willen de snelheid in km/uur, dus de getallen in B moeten gedeeld worden door 1.000; aangezien in Excel een tijd intern als fractie van een dag wordt vastgelegd (dus 6 uur wordt in Excel 0,25 etc) vermenigvuldigen we de getallen in D nog met 24 om er uren van te maken.

Bestudering van de resultaten verklaart al wat van de vreemde snelheidsgrafieken in Strava en andere software: tussen veel metingen zitten soms maar enkele seconden en slechts luttele meters (toch eens harder gaan fietsen!). Aangezien we hier dan met relatief grote afrondingen zitten, kan het resultaat (de snelheid) ook behoorlijk variëren.

Om dit effect te verkleinen heb ik nog wat kolommen toegevoegd, waarin ik de snelheid niet tussen 2 opeenvolgende metingen bepaal, maar de intervallen vergroot. Hierdoor wordt het afrondingsprobleem voor een gedeelte uitgemiddeld.

Google Maps

Om makkelijk te kunnen analyseren waarom de snelheid op sommige stukken zo hoog (of laag) is heb ik in kolom K nog een hyperlink naar Google-maps toegevoegd:
=HYPERLINK(“http://maps.google.nl/maps?q=”&SUBSTITUEREN(Tabel2[@lat];”,”;”.”)&”,”&SUBSTITUEREN(Tabel2[@lon];”,”;”.”))

Meestal zoek je in Google-maps via een plaatsnaam en/of adres, maar je kunt ook coördinaten opgeven.
Aangezien Google een punt als decimaal scheidingsteken verwacht (de 2 coördinaten worden door een komma gescheiden), voeren we op de lat en lon een substitutie uit. Het resultaat kan er dan als volgend uitzien:
http://maps.google.nl/maps?q=50.867841,5.99487

Grafieken

XML-grafiekOmdat zoveel detail-informatie zoals weergegeven in het werkblad Berek zich uitstekend leent om grafisch weer te geven, heb ik een werkblad Grafieken toegevoegd.

De bovenste grafiek komt uit Strava; in de tweede is duidelijk te zien, dat de berekende snelheid (met een interval van 4 metingen) heel goed aansluit bij Strava!

In de derde grafiek zijn de hoogte en de snelheid niet tegen de afstand maar tegen de tijd uitgezet. XML5
Dan valt direct een vreemd stuk op in de grafiek. Bij de afstand-grafiek liep de lijn door; bij de tijd zit een onderbreking??

Hier is goed te zien hoe slecht de (mijn?) GPS met hoogtes omgaat: na de pauze waren we echt niet gestegen (alleen koffie gedronken!).

LET OP: bij het maken van dergelijke grafieken (waar de gegevens voor de x-as niet gelijkmatig zijn verdeeld; de ene keer 1 sec, dan weer 5 sec), kun je geen gewone Lijn-grafiek nemen; kies dan Spreiding als grafiektype.