Angenommen, Sie möchten die geschätzte Zeit berechnen, die Sie für die Fahrt von Ihrem aktuellen Standort zu Ihren Zielen aufwenden werden, oder die Geschwindigkeit ermitteln, die Sie benötigen, um zur erwarteten Uhrzeit oder zum voraussichtlichen Datum anzukommen, aber Sie kennen nicht die Gesamtstrecke. Oder vielleicht möchten Sie einfach nur die Entfernung zwischen mehreren Orten wissen. In diesem Artikel erfahren Sie, wie Sie eine einfache Formel erstellen, die die Entfernung von zwei oder mehr Punkten zwischen Städten mit einer Google-Tabelle berechnet.

Die Schritte sind wie folgt:

  • Gehen Sie zu sheet.google.com und melden Sie sich bei Ihrem Google-Konto an
  • Sobald Sie angemeldet sind, klicken Sie auf Leer, um eine neue Tabelle hinzuzufügen.
  • Klicken Sie im Menü auf Erweiterungen.
  • Klicken Sie unter Erweiterungen auf Apps Script.
  • Sie werden zu einem neuen Tab weitergeleitet.
  • Löschen Sie zuerst das vordefinierte Skript.
  • So sollte es aussehen, nachdem Sie das Skript gelöscht haben
  • Kopieren Sie das unten bereitgestellte Skript und fügen Sie es ein.
const GOOGLEMAPS_DISTANCE = (origin, ...dest_args) => {
var mapObj = Maps.newDirectionFinder()
  .setOrigin(origin);
//set waypoints as needed
const arr_dest = dest_args;
if (arr_dest.length == 0) {
}
else {
  //multiple
  if (arr_dest.length > 1) {
    for (var i = 0; i < arr_dest.length; i++) {
      //if end of array then set as arr_dest
      if (i == arr_dest.length - 1) {
        mapObj.setDestination(arr_dest[i]);
      }
      //otherwise add as waypoint
      else {
        mapObj.addWaypoint(arr_dest[i]);
      }
    }
  }
  //single
  else {
    mapObj.setDestination(arr_dest[0]);
  }
}
var directions = mapObj.getDirections();
var cnt_waypoints = directions.routes[0].legs.length
var route = directions.routes[0]
//add overaell leg distances
if (cnt_waypoints > 1) {
  var sum_dist = 0
  for (var i = 0; i < cnt_waypoints; i++) {
      sum_dist += route.legs[i].distance.value;
    }
}
else {
  sum_dist = route.legs[0].distance.value;
}
var distance = +(sum_dist / 1000).toFixed(2);   // calculation for KMs
Logger.log("# waypoints: " + cnt_waypoints)
return distance;
};
  • Klicken Sie auf die Schaltfläche Speichern
  • Gehen Sie zurück zu Google Spreadsheets und listen Sie die Städte auf, für die Sie die Entfernung berechnen möchten. Im Beispiel unten haben wir Genf als Ausgangspunkt, das erste Ziel ist Basel und das nächste Ziel ist Thun.
  • Um die Gesamtentfernung der drei Punkte zu berechnen, müssen wir nur das zuvor erstellte Skript verwenden.        

Beispiel: Wenn wir die Entfernung Genf-Basel-Thun berechnen möchten, geben Sie die folgende Formel in eine der leeren Zellen ein, aber stellen Sie sicher, dass sich Genf, Basel und Thun in den Zellen B1, B2 bzw. B3 befinden.

Nachdem Sie die Formel eingegeben haben, dauert es eine Sekunde, um die Entfernung zu berechnen. Die Entfernung von Genf, Basel nach Thun beträgt 379,38 km. Die Maßeinheit der Formelausgabe ist in km.

Sie können herumspielen und beliebig viele Ziele hinzufügen!

Hinweis zur Fehlervermeidung:

Der Benutzer kann nicht zwei oder mehr Städte in einer Zelle hinzufügen. Es muss eine Stadt pro Zelle sein.

  • Berechnen Sie möglichst die Entfernung innerhalb des Landes.
  • Die Gesamtstrecke hängt von der Reihenfolge der Städte in der Formel ab. Zum Beispiel, Wenn wir die Entfernung von Genf nach Thun nach Basel berechnen, beträgt die Gesamtstrecke 313,75 km. Während die Entfernung von Genf nach Basel nach Thun 379,38 km beträgt.

Benötigen Sie einen VBA Programmierer?

Wir als exact construct programmieren mit einem Team von rd. 20 Mitarbeitern seit über 10 Jahren Excel-Tools. Wir sind ein Nischenanbieter der spezialisiert auf Makros/VBA-Codes ist. 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.

18 Kommentare zu „Berechnung der Distanz von zwei oder mehr Punkten mit Google Spreadsheet“

  1. Hallo, das ist ein sehr hilfreiches Tool. Kann man hier auch noch die Strasse eingeben.

    Also zum Beispiel: Start 1010 Wien, Hauptstrasse, usw.

    lg

  2. Hallo, sehr praktisch, ich habe aber das Problem dass die Entfernung nicht als Wert sondern als Text mit z.B. „12.5 km“ angegeben wird (Punkt statt Komma), ich finde keine Möglichkeit den Text in einen Wert umzuwandeln damit damit gerechnet werden kann.
    lg

    1. Hallo Wolfgang

      Im obigen Beispiel wird das Ergebnis als Wert zurückgegeben. Wir haben mal einen anderen Artikel geschrieben, in welchem effektiv das Ergebnis als Text und mit km zurückgegeben wird. Im obigen Fall sollte es aber gehen.

      Gruss Adrian

  3. Hallo,

    danke schon einmal für die ganzen Infos. Allerdings habe ich ein Problem: Ich kann die =GoogleMaps nicht aufrufen. Er zeigt mir nur „GoogleFinance & GoogleeTranslate“ an.

    Führe ich den Code direkt aus, kommt folgende Meldung:

    12:34:17 Hinweis Ausführung begonnen
    12:34:17 Fehler
    Exception: Invalid argument: origin
    GOOGLEMAPS_DISTANCE @ Code.gs:4

    Was mache ich falsch?

    1. Hallo Matthias

      Gibt doch bitte in Google Spreadsheet in einer Zelle einfach die Formel =GOOGLEMAPS_DISTANCE(F2;F3) ein. Anschliessend musst du in F2 und in F3 aber eine Stadt eingeben, ansonsten erhältst du eine Fehlermeldung. Wenn du es direkt ausführst oder wenn in F2 oder F3 kein Wert drin ist, dann erhältst du eine Fehlermeldung.

      Viele Grüsse
      Adrian

      1. Hallo Adrian,
        vielen Dank für dieses super Skript!
        Ich habe bei manchen Zellen weiterhin ein Fehler.

        Fehler
        Exception: Service invoked too many times for one day: route. (Zeile 27).

        Was könnte ich dagegen tun?

        Danke Dir!

        1. Was für einen Start-Ort und End-Ort hast du eingegeben? Kannst mir konkret sagen, was du berechnen wolltest?
          Gruss Adrian

          1. Hi, ich habe das gleiche Problem. Gleiche Fehlermeldung. Der Code z.B. „=GOOGLEMAPS_DISTANCE(F255;F256)“ Hatte aber die ersten 600 Adressen oder so funktioniert und ab ca. 600 bis 770 kam dann die Fehlermeldung. Eigentlich sollte man die je erst ab 2500 Adressen oder so bekommen oder?

            Ich glaube ich hatte diesen Code hinzugefügt:
            „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;
            }“

            Ich hatte gestern Nacht mal angefangen und heute mir das nochmal angeguckt. Und jetzt sind auch die ersten 600 Adressen mit den Fehlercode versehen…

            Keine Ahnung was hier passiert… Muss das leider recht zügig abgeben…

            Kann mir vllt. jemand helfen?

            LG :)

          2. Korrektur:

            hab das hier gespeichert wohl:

            const GOOGLEMAPS_DISTANCE = (origin, …dest_args) => {
            var mapObj = Maps.newDirectionFinder()
            .setOrigin(origin);
            //set waypoints as needed
            const arr_dest = dest_args;
            if (arr_dest.length == 0) {
            }
            else {
            //multiple
            if (arr_dest.length > 1) {
            for (var i = 0; i 1) {
            var sum_dist = 0
            for (var i = 0; i < cnt_waypoints; i++) {
            sum_dist += route.legs[i].distance.value;
            }
            }
            else {
            sum_dist = route.legs[0].distance.value;
            }
            var distance = +(sum_dist / 1000).toFixed(2); // calculation for KMs
            Logger.log("# waypoints: " + cnt_waypoints)
            return distance;
            };

    1. Haben wir leider noch nie gemacht. Wahrscheinlich würde es aber gehen. Vielleicht werden wir in einem zukünftigen Artikel uns mit dem Thema befassen.

  4. Hallo,
    das funktioniert wirklich super ! Gibt es die Möglichkeit das ganze mit Postleitzahlen durchzuführen?

    Viele Grüße
    Ari

    1. Hi Ari

      Ich habs vorhin kurz ausprobiert. Effektiv scheint Google eine Postleitzahl nicht als Adresse zu interpretieren. Wenn ich aber die Postleitzahl zusammen mit der Stadt schreibe, dann geht es.

      Wenn jemand eine Lösung dafür hat. Gerne in die Kommentare schreiben, dann ergänze ich den Artikel um diese Lösung.

      Viele Grüsse
      Adrian

    1. Ich habe es in Google Maps vorhin geprüft, ob mir Google Maps die Distanz via Luftlinie anzeigt. Zwar kann ich das Flugzeug wählen, nur erhalte ich dann die Flugzeit aber nicht die Entfernung. Ich bin mir daher nicht sicher, ob dies wirklich in Google Maps geht resp. ob wir diese Info via GoogleSpreadsheet laden können.

      Wenn es jemand weiss. Gerne hier in die Kommentare schreiben.

  5. Sehr sehr cooles Tool! Vielen Dank!!! Für meine Auswertung wäre das Verkehrsmittel von Relevanz (Fahrrad). Wie könnte man das in der Abfrage umsetzen?

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen