본문 바로가기
IT(Tip)

엑셀에서 셀 문자 합쳐서 도로명주소 만들기

by good4me 2022. 2. 23.

goodthings4me.tistory.com

생활하면서 우리집 주소라고 하면 보통 건물 명칭이 들어간 것인데, 우리나라의 주소체계는 지번 구조에서 도로명(~대로/~로/~길)으로 바뀐 지 오래다.
오늘은 juso.go.kr의 데이터(건물DB)를 받아서 엑셀로 도로명 주소를 만들어보는 엑셀 수식을 작성해봤다.

 

 

도로명주소 시도/시군구/읍명동/도로명 등을 엑셀에서 합쳐서 도로명주소 만들어보기

 

juso.go.kr의 건물DB 전체를 내려받아서 확인한 결과, 지역별로 잘 정리되어있었다.

juso.go.kr 건물db
juso.go.kr 건물db

 

-----------------------------------
구분(파일명)           자료 건수
-----------------------------------
서울(build_seoul.txt) : 610,273
부산(build_busan.txt) : 397,753
대구(build_daegu.txt) : 259,071
인천(build_incheon.txt) : 254,779
광주(build_gwangju.txt) : 170,027
대전(build_daejeon.txt) : 145,972
울산(build_ulsan.txt) : 164,839
세종(build_sejong.txt) : 56,012
경기(build_gyunggi.txt) : 1,637,037
강원(build_gangwon.txt) : 591,504
충북(build_chungbuk.txt) : 617,265
충남(build_chungnam.txt) : 879,196
전북(build_jeonbuk.txt) : 810,497
전남(build_jeonnam.txt) : 1,169,043
경북(build_gyeongbuk.txt) : 1,443,138
경남(build_gyeongnam.txt) : 1,288,561
제주(build_jeju.txt) : 256,409
----------------------------------- 
전체 : 10,751,376

 

 

파일 하나(build_busan.txt)를 열어보면,

건물db 텍스트
건물db 텍스트

  • 구분자는 기호 '|' 로 되어있고, 
  • 항목은 '법정동코드, 시도명, 시군구명, 법정읍면동명, 법정리명, 지번본번(번지), 지번부본(호), 도로명, 지하여부, 건물본번, 건물부본, 건축물대장건물명, 상세건물명, 건물관리번호, 우편번호, 행정동코드, 행정동명, 시군구용건물명, 공동주택여부' 등이다

 

텍스트 데이터를 엑셀로 불러와서 도로명주소 관련 컬럼만 정리하면,

엑셀 수식
엑셀 수식

 

우리나라 도로명주소 체계는,

  • '법정읍면동명'이 '동'인 경우 : '시도명 시군구명 도로명 건물번호(동명칭, 건물명칭)'
  • '법정읍면동명'이 '읍면'인 경우 : '시도명 시군구명 읍면명 도로명 건물번호(건물명칭)'이다.

good4me.co.kr

 

엑셀에서 도로명주소를 만드는 수식은,

=A2&" "&B2&IF(OR(RIGHT(C2,1)="읍",RIGHT(C2,1)="면")," "&C2&" "&D2&" "&IF(F2<>"0",E2&"-"&F2,E2)," "&D2&" "&IF(F2<>"0",E2&"-"&F2,E2))
  • '법정읍면동명' 기준으로 처리하기 위해 '법정읍면동명' 마지막 한 글자를 RIGHT() 함수로 추출 후 '동'과 '읍', '면'을 IF 조건으로 분기 처리('읍', '면'은 동일 IF 조건에서 처리하기 위해 OR() 함수 사용)
  • 그리고, 건물번호는 '건물본번'과 '건물부본'으로 되어있는데, '건물부본'이 '0'인 경우와 아닌 경우를 IF 조건으로 나눠 처리 ('0'이 아니면 대시('-')기호를 넣고 아니면 제외)

댓글