엑셀 실시간 환율 조회, 기본 함수 3개로 해결하기 (모든 버전 가능!)
엑셀 2013 이후 모든 버전에서 사용 가능한, 실시간 환율 조회 서식 만들기 | M365 최신 버전에서 바로 사용가능한 ExchangeRate 함수 제공!🔥
이 강의에서는 외국환 중개소가 제공하는 고시환율 데이터를 엑셀로 직접 받아와 실시간 환율 조회 서식을 만드는 방법을 다룹니다. WEBSERVICE·MID·SEARCH 함수의 동작 원리부터 개발자 도구로 환율 반환 URL을 찾아 수식에 연결하는 과정까지 단계별로 정리하고, M365 사용자를 위한 ExchangeRate 사용자 정의 함수의 작성·등록 방법도 함께 알아봅니다.
실습자료를 준비했어요
수업에서 사용한 예제 파일과 보충 자료를 한 곳에 정리했습니다!👇
외국환 중개소 환율 조회 페이지 링크
'외국환 중개소' 환율 조회 페이지는 아래 링크를 클릭하면 바로 이동할 수 있으며, 구글이나 네이버에서 '외국환 중개소'를 검색한 후 '환율 조회' → '오늘의 환율' 메뉴로 이동해도 동일한 페이지에 접속할 수 있습니다.
M365 버전 : ExchangeRate 함수
M365 최신 버전에서 바로 사용할 수 있는 ExchangeRate 사용자 함수는 아래 링크에서 확인할 수 있습니다. 함수의 사용법은 영상 강의 14분 15초 구간에서 자세히 정리해 두었습니다.
=LAMBDA(날짜,[통화],[통화표시],
LET(date,날짜,
curr,통화,
print_header,통화표시,
is_header,OR(ISOMITTED(curr),curr="",N(print_header)),
curr_list,{"USD";"JPY";"EUR";"GBP";"CAD";"CHF";"AUD";"NZD";"CNH";"HKD";"TWD";"MNT";"KZT";"THB";"SGD";"IDR";"MYR";"PHP";"VND";"BND";"INR";"PKR";"BDT";"KHR";"MOP";"NPR";"LKR";"UZS";"MMK";"MXN";"BRL";"ARS";"CLP";"COP";"SEK";"DKK";"NOK";"RUB";"HUF";"PLN";"CZK";"RON";"SAR";"QAR";"ILS";"JOD";"KWD";"BHD";"AED";"TRY";"OMR";"ZAR";"EGP";"KES";"LYD";"ETB";"FJD"},
url,"http://www.smbs.biz/Flash/TodayExRate_flash.jsp?tr_date="&TEXT(date,"yyyy-mm-dd"),
print_list,IF(ISOMITTED(curr),curr_list,curr),
result,SUBSTITUTE(WEBSERVICE(url),"?test0=test&",""),
tocol_result,DROP(TEXTSPLIT(result,,"&&"),-1),
pos_1,FIND("&",tocol_result),
pos_2,FIND("&",tocol_result,pos_1+1),
fin_result,MID(tocol_result,pos_1+1,pos_2-pos_1-1),
arr_result,TEXTSPLIT(TEXTJOIN("|",,fin_result),"=","|"),
arr_value,IFERROR(VLOOKUP(print_list,arr_result,2,0),"-"),
IF(is_header,HSTACK(print_list,arr_value),arr_value)
)
)환율 조회에 사용할 엑셀 기초 함수 살펴보기
- WEBSERVICE 함수는 입력한 URL 주소가 반환하는 웹 데이터를 그대로 셀에 가져오는 함수입니다. 단, URL에서 반환된 데이터가 셀에 입력 가능한 최대 글자수인 32,767자를 초과할 경우 WEBSERVICE 함수는 #VALUE! 오류를 반환하므로 주의해야 합니다.
=WEBSERVICE(URL주소)
=WEBSERVICE("http://www.smbs.biz/Flash/TodayExRate_flash.jsp?tr_date=2024-03-12")
→ 외국환중개소에서 제공하는 3월 12일의 고시환율 데이터를 반환합니다. - MID 함수는 문장의 특정 위치부터 원하는 문자수 만큼 단어를 추출하는 함수입니다.
=MID(문장,시작위치,추출할문자수)
=MID("서울시 구로구 구로동",5,3)
→ "구로구"를 추출합니다. (5번째 위치부터 3글자를 추출) - SEARCH 함수는 문장에서 특정 단어가 처음 나타나는 시작 위치를 숫자로 반환합니다. 시작위치 인수를 지정하면, 해당 위치 이후에 처음으로 나타나는 단어의 위치를 반환합니다.
=SEARCH(단어,문장,[시작위치])
=SEARCH("사과","사과나무 사과열렸네",3)
→ 3번째 글자 이후 '사과'가 나타난 위치인 6을 반환합니다. - MID 함수와 SEARCH 함수를 함께 활용하면, 문장에서 특정 두 단어 사이에 있는 값을 손쉽게 추출할 수 있습니다.
=MID(문장,SEARCH(단어1,문장),SEARCH(단어2,문장)-SEARCH(단어1,문장)-LEN(단어1))
'문장에서 단어1과 단어2 사이에 있는 단어를 추출합니다.
오빠두Tip : 위 공식의 자세한 동작 원리는 영상 강의 06:57 이후 내용을 참고하세요!
외국환 중개소 웹 페이지 분석하기
- 네트워크 탭 이동하기 : 웹 브라우저에 내장된 개발자 도구를 사용하면 웹 페이지에서 발생하는 네트워크 정보를 손쉽게 확인하고 분석할 수 있습니다. 먼저 아래 링크를 클릭하여 외국환 중개소 오늘의 환율 조회 페이지로 이동합니다.
- 브라우저에서 단축키 F12키 또는 Ctrl + Shift + i 를 동시에 누르거나 [설정] - [도구] - [개발자 도구] 메뉴를 클릭하여 개발자 도구를 실행합니다. 이후 개발자 도구의 '네트워크' 탭으로 이동합니다.

- 네트워크 탭이 활성화된 상태에서 F5 키를 눌러 페이지를 새로고침하거나 [조회하기] 버튼을 클릭하여 페이지를 다시 불러오면, 웹 페이지를 출력하기 위해 받아오는 모든 항목이 네트워크 탭에 표시됩니다.

- 환율 정보를 반환하는 URL 확인하기 : 우리에게 필요한 항목은 환율 데이터값입니다. 따라서 표시할 항목에서 [Fetch/XHR] 을 클릭하면 웹 페이지를 불러올 때 함께 받아온 데이터 중 XHR 요청으로 받아온 항목만 필터링되어 표시됩니다. 이후 첫 번째 항목인 "TodayExRate..."를 클릭합니다.

- 이어서 [미리보기] 탭을 클릭하면, 우리에게 필요한 환율 정보가 정상적으로 반환되는 것을 확인할 수 있습니다.

- 마지막으로 [머리글] 탭으로 이동하면, 요청 URL 항목에서 환율 정보를 반환하는 URL 주소를 확인할 수 있습니다.
http://www.smbs.biz/Flash/TodayExRate_flash.jsp?tr_date=날짜(YYYY-MM-DD)
오빠두Tip : 초보자를 위한 API 기초 이론은 아래 10분 영상 강의에서 알기 쉽게 정리했습니다. 아직 시청하지 못하신 분이라면 이전 영상 강의를 먼저 확인해보세요!👇
엑셀 환율 조회 함수 작성하기
- URL에서 환율정보 받아오기 : 예제파일을 실행한 후 [기초] 시트로 이동합니다. 첫 번째로 날짜를 입력하는 C7셀에 환율을 조회할 날짜를 입력합니다. 이번 강의에서는 2024-03-22로 입력했습니다.

- 이어서 C4 셀에 아래 수식을 입력하여 환율 검색에 사용할 URL 주소를 완성합니다.
="http://www.smbs.biz/Flash/TodayExRate_flash.jsp?tr_date="&TEXT(C7,"YYYY-MM-DD")
오빠두Tip : TEXT 함수는 값을 특정 형식의 문자열로 변환하는 함수입니다. 실무에서 TEXT 함수를 활용하는 다양한 방법은 아래 기초 영상 강의에서 자세히 다룹니다. - 이후 URL 결과 셀에 아래 수식을 입력하면 선택한 날짜의 환율 정보 데이터가 반환됩니다.
=WEBSERVICE(C4)

- 특정 통화의 환율 추출하기 : 통화 선택 셀에 검색하려는 통화 코드를 선택한 후, ②, ③, ④ 순서에 따라 C11, C12, C13 셀에 아래 수식을 차례대로 작성합니다.
② 검색단어 (C11셀) : =C8&"="
③ 단어위치 (C12셀) : =SEARCH(C11,C5)
④ 다음&위치 (C13셀) : =SEARCH("&",C5,C12)
- 마지막으로 C9 셀을 선택한 후 아래 수식을 입력하면 선택한 통화의 환율이 추출됩니다.
오빠두Tip : 통화의 증가·감소 여부에 따라 조건부 서식을 적용하는 방법은 위캔두 멤버십 라이브 전체 영상에서 확인할 수 있습니다.👇
(M365) ExchangeRate 함수 사용법
- EXCHANGERATE 함수 등록하기 : M365 최신 버전 사용자라면 LAMBDA 함수를 활용해 더욱 편리하게 환율을 조회하는 자동화 서식을 만들 수 있습니다. 예제파일에서 [M365] 시트로 이동한 후, 오른쪽에 정리된 LAMBDA 함수 수식을 복사합니다.

- [수식] 탭 - [이름 관리자]를 클릭하거나 Ctrl + F3을 동시에 눌러서 이름 관리자를 실행한 후, [새로 만들기] 버튼을 클릭합니다.

- [새 이름] 대화상자가 실행되면, 다음과 같이 새 이름을 정의한 후 [확인] 버튼을 클릭합니다.
이름 : EXCHANGERATE
설명 : 외국환 중개소에서 제공하는 환율 정보를 반환합니다.
참조 대상 : 복사한 수식 붙여넣기
- EXCHANGERATE 함수 사용하기 : 이제 날짜 범위에 환율을 조회하려는 날짜를 입력한 후, C3셀에 아래와 같이 EXCHANGERATE 함수를 작성합니다.
=EXCHANGERATE(B3,$C$2:$H$2)

- 작성한 수식을 아래로 자동 채우기하면, 여러 날짜의 환율을 한 번에 조회할 수 있습니다.

주말/공휴일일 시, 전날 환율을 표시하려면 URL을 생성하는 공식에 주말/공휴일 조건을 추가해보세요.
=URL&TEXT(C7,"YYYY-MM-DD") 이 부분을
=URL&TEXT(IF(WEEKDAY(C7,2)>=6,C7-WEEKDAY(C7,2)+5,C7),"YYYY-MM-DD")
로 수정해보시길 바랍니다. 공휴일 체크는 VLOOKUP 함수를 사용하면 됩니다.
공휴일을 체크하는 방법은 아래 자동화 달력 만들기 강의를 한번 참고해서 적용해보세요.
엑셀 달력 자동화, 공휴일+일정까지 완벽 해결! | CALENDAR 함수 만들기 - 오빠두엑셀 (oppadu.com)
남겨드린 답변이 문제를 해결하시는데 도움이 되었길 바랍니다. 감사합니다.
먼저 이번 강의에서 소개해드린 내용은 '윈도우' 엑셀에서만 사용 가능합니다.
파일을 실행한 후, 웹 서비스 (URL 검색)을 사용할 수 있도록 활성화 했는지 확인해보세요. :)
감사합니다.
아래 링크를 확인해보시길 바랍니다.
엑셀 신규 기능 업데이트! '데이터 형식'으로 VLOOKUP 함수 원클릭 자동화 서식 만들기 - 오빠두엑셀 (oppadu.com)
감사합니다.
추출값이 구로구가 나와야 하는데
구로동으로 설명되어있습니다
구로구가 맞습니다. 게시글을 방금 수정하였습니다.
확인해주셔서 감사합니다.
사용하고 계신 엑셀 버전을 확인해보시겠어요? :) LAMBDA 함수는 M365 버전에서만 제공됩니다.
버전은 파일 - 계정에서 확인할 수 있습니다.