Google 문서와 함께 일하고 있으며 다음 형식의 스프레드 시트를 만들고 싶습니다.
포인트 A 포인트 B 마일리지 로스 앤젤레스 마이애미 292100 팔로 알토 샌프란시스코 90
스프레드 시트에서 Mileage자동으로 계산됩니다. 나는 "까마귀가 날아갈 때"가 아니라 "거리 중심"을 찾고 있습니다.
Google 스프레드 시트에이를 수행 할 수있는 기능이 있습니까?
Google 문서와 함께 일하고 있으며 다음 형식의 스프레드 시트를 만들고 싶습니다.
포인트 A 포인트 B 마일리지 로스 앤젤레스 마이애미 292100 팔로 알토 샌프란시스코 90
스프레드 시트에서 Mileage자동으로 계산됩니다. 나는 "까마귀가 날아갈 때"가 아니라 "거리 중심"을 찾고 있습니다.
Google 스프레드 시트에이를 수행 할 수있는 기능이 있습니까?
답변:
다음과 같은 작은 코드를 사용하면 두 점 사이의 거리를 검색 할 수 있습니다.
function getDirection(city1, city2, unit) {
var directions = Maps.newDirectionFinder()
.setOrigin(city1).setDestination(city2)
.setMode(Maps.DirectionFinder.Mode.DRIVING)
.getDirections();
var d = directions.routes[0].legs[0].distance.text;
var distance, value = d.split(" ")[0].replace(",", ""), text = d.split(" ")[1];
if(text == unit) {
distance = value;
} else if(text == "km" && unit == "mi") {
distance = value / 1.6;
} else {
distance = value * 1.6;
}
return Math.round(distance);
}
Google Apps 스크립트 위에 구축 된 MAPs API 는 출발지 와 목적지 사이의 첫 번째 방향 ( route [0] )을 가져옵니다 . 리턴 된 값은 쉼표에서 제거되고 정수로 구문 분석됩니다.

반환 된 거리는 킬로미터 또는 마일 입니다. 나는 "까마귀가 날아갈 때"에 대한 계산도 추가했습니다 (마일 단위).
스프레드 시트의 도구> 스크립트 편집기 에서 스크립트를 추가하십시오 . 스크립트 편집기에서 버그 버튼을 누르면 이동합니다!
나는 당신을 위해 예제 파일을 만들었습니다 : 운전 거리를 얻으십시오
Google 스프레드 시트에서 :
=importXML("http://mapquestapi.com/directions/v1/route?
key=YOUR_KEY_HERE&outFormat=xml&from=" & A2 & "&to="
& B2,"//response/route/distance")
어디 A2에서 출발지이며 B2목적지입니다.
mapquest에서 API 키를 가져 와서 값 YOUR_KEY_HERE을 바꿔야 합니다.
이를 위해 Excel 기능 또는 확장 기능이 내장되어 있다고 생각하지 않습니다.
이 Source Forge 페이지를 확인하십시오 : http://zips.sourceforge.net/
엑셀 기능은
=IF(SIN(Lat1) * SIN(Lat2) + COS(Lat1) * COS(Lat2) * COS(Long1 - Long2) > 1,
RadiusofEarth * ACOS(1), RadiusofEarth *
ACOS(SIN(Lat1) * SIN(Lat2) + COS(Lat1) * COS(Lat2) * COS(Long1-Long2)))
이 페이지에는 각도가 라디안이어야하고 Excel에는도에서 라디안으로의 변환 기능이 있습니다.
=RADIAN(degrees)
다른 사람이 더 매끄러운 답변을하지 않는 한, 너무 많은 작업없이 원하는 것을 얻을 수 있습니다.
스프레드 시트 템플릿 형식의 Google 스프레드 시트 예제와 Google Maps API에 대한 정보는 http://winfred.vankuijk.net/2010/12/calculate-distance-in-google-spreadsheet/
이 작업을 수행하는 방법을 정확하게 알려주는 API에 익숙하지 않지만 Google Maps API를 사용하면 가능할 것으로 생각합니다 .
물론 Google지도는 API를 통해 한 지점에서 다른 지점으로 경로를 제공 할 수 있습니다. 복잡하지만 스프레드 시트에서 API를 통해 위치를 라우팅하고 운전 경로를 얻을 수있어 도시 간 운전 거리를 제공 할 수 있습니다.
매크로와 비슷한 함수를 직접 작성할 수 있습니다.
http://www.google.com/google-ds/scripts/yourfirstscript.html
추신 : 현재 모든 Google Apps Script에서 열리지는 않습니다.