Übersicht Google Maps in Tabelle
Google Maps ist eine von Google angebotene Plattform. Es bietet Echtzeit-Verkehrsbedingungen und Routenplanung für das Reisen zu Fuss, mit dem Auto und mit öffentlichen Verkehrsmitteln.
In Google Spreadsheets können wir mit Skripten auf Google Maps zugreifen, indem wir das Objekt „Maps“ verwenden. Ich habe 5 Skriptfunktionen vorbereitet, die Google Maps verwenden.
Gehen Sie im Google Tabellen-Menü zu:
Tools> Skript-Editor (oder unter Erweiterungen > Apps Script)
Kopieren Sie dann dieses Skript und fügen Sie es in den Skripteditor ein.
const GOOGLEMAPS_DISTANCE = (origin,destination) => { var mapObj = Maps.newDirectionFinder() .setOrigin(origin) .setDestination(destination); var directions = mapObj.getDirections(); var route = directions.routes[0].legs[0] var distance = route.distance.text; return distance; } const GOOGLEMAPS_DURATION = (origin, destination, mode) => { var mapObj = Maps.newDirectionFinder() .setOrigin(origin) .setDestination(destination) .setMode(mode); var directions = mapObj.getDirections(); var route = directions.routes[0].legs[0]; var time = route.duration.text; return time; } const GOOGLEMAPS_LATITUDE = (address) => { const geoObj = Maps.newGeocoder().geocode(address); const results = geoObj.results[0].geometry; return `${results.location.lat}`; }; const GOOGLEMAPS_LONGITUDE = (address) => { const geoObj = Maps.newGeocoder().geocode(address); const results = geoObj.results[0].geometry; return `${results.location.lng}`; }; const GOOGLEMAPS_GPS_TO_ADDRESS = (latitude, longitude) => { const geoObj = Maps.newGeocoder().reverseGeocode( latitude, longitude ); const results = geoObj.results[0]; return results.formatted_address; };
Klicken Sie nach dem Kopieren des Skripts auf das Symbol zum Speichern.
Nach dem Speichern haben Sie Zugriff auf 5 Funktionen von Google Maps. Lassen Sie uns jeden von ihnen durchgehen.
Googlemaps_distance
1. GOOGLEMAPS_DISTANCE([origin_address], [destination_address])
Gibt die Entfernung zwischen 2 Adressen in Kilometer zurück.
[origin_address] = Die Start-Adresse
[destination_address] = Die End-Adresse
Beispiel:
Durch die Angabe der Ursprungs- und Zieladresse in der Funktion GOOGLEMAPS_Distance wird die Entfernung zwischen den beiden angegebenen Adressen zurückgegeben. Das sind in diesem Fall 0,7 km.
Googlemaps_duration
2. GOOGLEMAPS_DURATION([origin_address], [destination_address], [mode])
Gibt die Zeit zurück, die je nach ausgewähltem Transportmittel von der ursprünglichen Adresse zur Zieladresse benötigt wird.
Beispiel:
Neben der Angabe der Ursprungs- und Zieladresse in dieser Funktion müssen wir auch den Parameter des Transportmittels angeben.
Modus akzeptiert nur 4 Werte:
–walking
–transit
–bicycling
–driving
Im obigen Beispiel dauert der Weg von der ursprünglichen Adresse zur Zieladresse zu Fuß etwa 49 Minuten. Während für die Fahrt dauert es nur 6 Minuten.
Googlemaps_latitude
3. GOOGLEMAPS_LATITUDE([address])
– Gibt den Breitengrad der Adresse zurück.
Beispiel:
Diese Funktion akzeptiert nur einen Parameter, der eine Adresse ist. Die Funktion gibt den Breitengrad der Adresse zurück.
Googlemaps_longitude
4. GOOGLEMAPS_LONGITUDE ([address])
Gibt den Längengrad der Adresse zurück.
Beispiel:
Diese Funktion akzeptiert nur einen Parameter, der eine Adresse ist. Die Funktion gibt den46.2931247
Längengrad zurück.
Googlemaps_gps_to_address
5. GOOGLEMAPS_GPS_TO_ADDRESS([latitude], [longitude])
Gibt die Adresse basierend auf dem Breiten- und Längengrad zurück.
Beispiel:
Benötigen Sie Excel-Hilfe?
Wir als exact construct programmieren mit einem Team von rd. 20 Mitarbeitern seit über 10 Jahren Excel-Tools. Wir sind ein Nischenanbieter der Spezialisiert ist auf Makros/VBA-Codes. Daneben unterstützen wir auch als 3rd Level Support die IT-Abteilungen rund um Probleme bei MS Office (Excel, Word, PowerPoint, etc.).
Haben Sie ein Excel-Problem? Benötigen Sie einen Makro-Programmierer? Rufen Sie uns unverbindlich an +41 52 511 05 25 oder kontaktieren Sie uns via Kontaktformular
Moin,
Wäre es möglich auch mehr zusätzliche zwischenziele hinzuzufügen. Auch wäre es schön, dass die Ergebnisse nicht als Text sondern als Zahl wiedergegeben werden um damit weiter zu rechnen.
LG marko
Hallo Marko
Wir haben einen neuen Artikel zu deinem Anliegen geschrieben. In diesem Artikel beschreiben wir, wie mehrere Zwischenziele eingefügt werden können.
https://excel-hilfe.exco-apps.ch/blog/berechnung-der-distanz-von-zwei-oder-mehr-punkten-mit-google-spreadsheet/
Viele Grüsse
Adrian
Geht es auch bei Googlemaps_duration mit der Zeit als Zahl ,damit man damit weiterarbeiten kann ?
Liebe Grüße Thoop
Mit dieser Formel kannst du den Ausgabewert in eine Zahl umwandeln, damit du danach weiterrechnen kannst:
=WENNFEHLER( regexextract(A2; „(\d*) day“) ) + WENNFEHLER( regexextract(A2; „(\d*) hour“) / 24 ) + WENNFEHLER( regexextract(A2; „(\d*) min“) / 24 / 60)
Da bin ich leider überfragt. Auf jeden Fall funktionieren diese Abfragen bei uns zumindest bis jetzt kostenlos, ob es nach einer gewissen Zeit gesperrt wird, wenn man zu viele Abfragen macht, weiss ich leider nicht. Wenn jemand mehr dazu weiss, bitte einen Kommentar hinterlassen.
Hallo. Ich habe heute das erste mal von Excel zu Google gewechselt, da ich in einem Datenblatt nach der Eingabe von Start und Ziel Adresse gerne eine KM Angabe hätte.
Leider bekomme ich im Feld ein #NAME? angezeigt und wenn ich mit der Maus drüber gehe eine Meldung „Unbekannte Funktion: googlemaps_distance“.
Muss dieses Script auf der Seite erst noch aktiviert werden?
Hallo Michael. Du musst einfach wie folgt vorgehen:
Gehe im Google Tabellen-Menü zu:
Tools> Skript-Editor (oder unter Erweiterungen > Apps Script). Anschliessend das Skript einfügen. Wenn du danach nach der Funktion suchst solltest du sie verwenden können.
Gruss Adrian
=GOOGLEMAPS_DURATION(E6,F6,“driving“).
e6 ist Rastatt
F6 ist Hamburg
Fehler beim Parsen der Formel.
im script ist folgender Fehler.
wie kann ich diese Fehler beheben`?
Fehler beim Parsen bedeutet, dass vermutlich ein Syntax-Fehler vorhanden ist. Versuch mal folgendes: =GOOGLEMAPS_DURATION(E6;F6;”driving”) -> Mit Semikolonen getrennt und nicht mit Komma getrennt.
Viele Grüsse
Adrian
habe es auch versucht, bloß leider ohne Erfolg
Ich habs bei mir mit dieser Formel versucht: =GOOGLEMAPS_DURATION(„Rastatt“;“Hamburg“;“driving“). Danach erhalte ich 6 Stunden 46 Minuten. Eigentlich müsste es bei dir genau gleich funktionieren.
Ich glaube herausgefunden zu haben, was das Problem ist. Prüf doch mal die Anführungszeichen. Wenn du es von unserer Seite reinkopierst, dann sind die Anführungszeichen scheinbar nicht korrekt. Versuch mal entweder die Anführungszeichen manuell zu erfassen oder das Driving auch aus einer Zelle zu beziehen.