Posted
Filed under MS Excel
|| English || 中文 || view 32132 ||

일을 하다 보면 출장비 계산이나 기타 등등의 이유로 지도 상에서 두 지점 간의 직전 거리를 알아야 하는 경우가 있다. 유류비처럼 꼬불꼬불하더라도 실제 움직인 거리가 중요할텐데 아무튼 이런 정보가 필요할 때가 있다.

가장 간단한 방법은 PC에 설치한 지도 프로그램을 이용하거나 포털 사이트의 지도 서비를 이용하는 것이다. 아래는 각각 다음 네이버 에서 확인한 것이다.

다음 지도에서 거리 계산

네이버 지도에서 거리 계산

위 예는 서울역에서 한강 대교 중간 지점 정도까지의 거리를 확인한 것이다. 대략 4.1에서 4.2km의 수치를 보여주고 있다.

이런 식으로 다수의 지점을 Excel(엑셀) 워크시트에 입력해 두고 필요한 지점끼리 짝을 지어 거리를 계산하는 방법 하나를 소개하고자 한다.

우선 Excel 워크시트에 원하는 지점 또는 주소의 위도와 경도를 입력해야 한다. 필요한 데이터를 알아내는 방법도 몇 가지 있지만 여기에서는 구글 맵 사이트를 이용한다.

구글 맵 사이트 로 이동한다.

Google 지도

[지도 검색] 창에 "서울역"을 입력하고 해당 위치를 찾는다.

Google 지도

위치를 표시하는 핀에서 마우스 오른쪽 버튼을 누르고, [지도 중앙으로 설정]을 선택한다.

Google 지도

해당 지점이 화면 가운데에 자리를 잡는다. 이렇게 해야 해당 지점의 정확한 좌표를 확인할 수 있다.

Google 지도

위치를 찾을 때 특정 이름을 사용할 수도 있지만, 번지까지 주소를 알고 있다면 주소를 입력해도 된다. 개인 주택 등 특정 이름이 없는 경우는 주소가 더 요긴하다.

Google 지도
Google 지도

해당 지점을 중앙에 놓았으면, 우측 상단의 "링크" 메뉴를 클릭하여 아래 그림과 같이 링크 정보를 불러온다.

Google 지도

"이메일 또는 메신저에 링크 붙여넣기" 항목에 보면 아래와 같이 좌표처럼 생긴 숫자를 찾을 수 있다. 이를 복사하고 Excel에 정리한다. 쉼표로 구분되어 있는데, 앞이 위도고 뒤가 경도이다.

Google 지도

다른 지점의 좌표도 위와 같은 방법으로 정리한다.

Google 지도

자신의 활용 목적에 맞게 자료를 정리하고 거리를 계산하는 수식을 이용하면 된다.

[MS Excel] 주소로 위도, 경도 찾고, 두 지점 간 직선 거리 계산하기

예를 들어, 위 시트에서 2행의 경우는 서울역에서 한강 대교 간의 거리를 계산하는 것이다. 상대 지점 열에 상대 지점의 번호를 입력하면 F열에 자동으로 지점명이 입력되도록 한다. index나 vlookup 함수를 사용하면 된다.

거리1과 거리2가 있는데, 거리1은 지구가 둥글다는 점을 감안한 거리 계산법이고, 거리2는 위도 간의 거리와 경도 간의 거리를 두 변으로 하는 직각 삼각형의 빗변의 길이를 구하는 피타고라스의 정리를 이용한 것이다. 이 공식을 더러 이용하는 경우도 있어서 적어둔 것이고, 거리1 방식을 추천한다. 서울역과 한강 대교 간의 거리는 4.13km로 다음이나 네이버의 결과와 유사하다.

거리1의 각 셀에 들어가는 공식의 형태는 아래와 같다.

=ACOS(COS(RADIANS(90-지점1의위도))*COS(RADIANS(90-지점2의위도))+SIN(RADIANS(90-지점1의위도)) *SIN(RADIANS(90-지점2의위도))*COS(RADIANS(지점1의경도-지점2의경도)))*6371

G2셀에 실제 입력된 내용:
=ACOS(COS(RADIANS(90-C2))*COS(RADIANS(90-INDIRECT("C"&E2+1)))+SIN(RADIANS(90-C2))*SIN(RADIANS(90-INDIRECT("C"&E2+1)))*COS(RADIANS(D2-INDIRECT("D"&E2+1))))*6371

이렇게 입력하면 E열 상대 지점 셀에서 다른 지점 번호로 바꾸더라도 자동으로 거리를 다시 계산할 수 있다.

H2셀에 실제 입력된 내용:
=SQRT((((C2-INDIRECT("C"&E2+1))*92)^2)+(((D2-INDIRECT("D"&E2+1))*114)^2))

92는 위도 한 단위의 실제 거리, 114는 경도 한 단위의 실제 거리를 표시한 것이다.

모든 수식은 첫 셀에 한 번만 입력한 후 아래로 복사해 사용하면 된다. 이런 방법을 바탕으로 다양한 형태의 양식에 사용할 수 있을 것이다.

참고로, 위 공식들은 예전에 어디서 찾아둔 것으로 비슷한 다른 공식이 여럿 있으므로 필요하다면 웹에서 찾아 다양하게 적용해 보면 좋을 것이다.
"MS Excel " 분류의 다른 글
[Excel] 사용 중인 셀의 값들이 계산 후 자동으로 변경되지 않을 때  (1)2010/10/17  
[MS Excel] 각 장바구니에 우리 회사 물건들이 몇 개 들어가 있는지 확인하기  (0)2008/12/06  
[Excel 2016] 메뉴에 안 보이는 파워 뷰(Power View) 단추 꺼내 놓기  (0)2015/10/28  
[MS Excel] 여러 셀의 메모에 서로 다른 그림을 한 번에 넣는 매크로  (7)2010/09/05  
[MS Excel] 다른 시트에 있는 차트에 데이터 추가하기  (0)2009/02/22  
  ◐ 관련 글 ◑   ◐ 100일간 인기 글 ◑
 
Creative Commons License 이 저작물은 크리에이티브 커먼즈 코리아 저작자 표시-비영리-변경 금지 2.0 대한민국 라이선스에 따라 이용하실 수 있습니다.


RSS 2.0 feed
ATOM 1.0 feed
Tag , , , , , , , , , , , , , , ,
Response
You can track responses via RSS / ATOM feed
RSS 2.0 feed
ATOM 1.0 feed
treecap

안녕하세요 위도 경도를 이용한 거리계산에 대한 자료 찾다가 찾아왔어요~
써주신 글 잘 읽었습니다. 죄송하지만 하나만 여쭤봐도 될까 해서요

=ACOS(COS(RADIANS(90-C2))*COS(RADIANS(90-INDIRECT("C"&E2+1)))+SIN(RADIANS(90-C2))*SIN(RADIANS(90-INDIRECT("C"&E2+1)))*COS(RADIANS(D2-INDIRECT("D"&E2+1))))*6371

여기서 "C"&E2 는 어떻게 함수식에 어떤 셀을 어떤식으로 적어야 되는지 궁금해서
뜸금없이 질문올립니다.

바쁘신데 귀찮게 해드려 죄송합니다.

Pak Chulwoo (박철우)

각 지점의 코드명에 해당하는 숫자 번호보다 각 지점의 정보가 입력된 행의 숫자가 1만큼 커서 사용하는 수식입니다. 즉, 서울역은 코드로 숫자 1이지만 2행에 있으므로 서울역의 위도는 C열의 "코드 + 1"행에 있는 셀에 입력되어 있습니다. 서울역의 코드(No.)가 1이므로 서울역의 위도는 C열 1+1행인 C2 셀에 있습니다. 이를 INDIRECT로 표현한 것입니다.