엑셀 달력 날짜 변환 (양력/음력, 한글, 한자 등):: 엑셀 서식
엑셀 달력 날짜 변환 목차 바로가기
양력/음력 변환표 업데이트!
1980년 ~ 2040년까지 양력/음력날짜와 음력간지, 율리우스적일 데이터가 포함된 양력/음력 변환표를 업데이트했습니다.

요약
엑셀 사용자 지정서식의 로케일변환 코드를 사용하면 엑셀 달력 날짜를 음력 및 양력, 그리고 그외 기타 달력(단군기원력, 중화민국력 등)으로 손쉽게 변경할 수 있습니다. 뿐만 아니라 표시언어 값을 설정하여 해당 날짜를 다른 특정 언어로도 손쉽게 변환할 수 있는데요.
로케일 변환코드는 "$-"로 시작하는 8자리의 코드이며, 각 자리수마다 특정 정보를 포함합니다.
- xx : 숫자또는 날짜의 표현방식을 결정합니다. [기본값: 00]
- yy: 달력 포맷을 결정합니다. (음력을 선택할 경우 음력날짜를 기준으로 계산합니다.) [기본값: 00]
- zzzz : 표시 언어를 결정합니다. [기본값: 0000]
8자리 코드의 기본값은 $-00000000 이며, 기본값으로 설정할 경우 '윈도우에 설정된 언어'를 따라 표시하게 됩니다.

로케일 서식 기본 예제
- 양력 (중국어)
=TEXT(셀,"[$-1E000404]yyyy年 mm月 dd日")
예제 :
=TEXT("2019-12-24","[$-1E000404]yyyy年 mm月 dd日")
결과값 : 二○一九年 十二月 二十四日 - 음력 (중국어)
=TEXT(셀,"[$-1E0E0404]yyyy年 mm月 dd日")
예제 :
=TEXT("2019-12-24","[$-1E0E0404]yyyy年 mm月 dd日")
결과값 : 二○一九年 十一月 二十八日 (=2019/11/28) - 양력 (중국어 번역)
=TEXT(YEAR(셀),"[DBNum1]G/표준")&"年 "&TEXT(MONTH(셀),"[DBNum1]G/표준")&"月 "&TEXT(DAY(셀),"[DBNum1]G/표준")&"日"
예제 :
=TEXT(YEAR("2019-12-24"),"[DBNum1]G/표준")&"年 "&TEXT(MONTH("2019-12-24"),"[DBNum1]G/표준")&"月 "&TEXT(DAY("2019-12-24"),"[DBNum1]G/표준")&"日"
결과값 : 二千一十九年 一十二月 二十四日사용자 지정서식에 대한 내용은 아래 관련포스트에서 자세히 설명드렸습니다.
- 양력 (한국어)
=TEXT(셀,"[$-27000412]yyyy년 mm월 dd일")
예제 :
=TEXT("2019-12-24","[$-27000412]yyyy년 mm월 dd일")
결과값 : 이영일구년 십이월 이십사일 - 양력 (한국어 번역)
=TEXT(YEAR(셀),"[DBNum4]G/표준")&"년 "&TEXT(MONTH(셀),"[DBNum4]G/표준")&"월 "&TEXT(DAY(셀),"[DBNum4]G/표준")&"일"
예제 :
=TEXT(YEAR("2019-12-24"),"[DBNum4]G/표준")&"년 "&TEXT(MONTH("2019-12-24"),"[DBNum4]G/표준")&"월 "&TEXT(DAY("2019-12-24"),"[DBNum4]G/표준")&"일"
결과값 : 이천일십구년 일십이월 이십사일 - 양력 (한국어 번체)
=TEXT(셀,"[$-25000412]yyyy年 mm月 dd日")
예제 :
=TEXT("2019-12-24","[$-25000412]yyyy年 mm月 dd日")
결과값 : 貳零壹九年 壹拾貳月 貳拾四日
예제파일 다운로드
오빠두엑셀의 강의 예제파일은 여러분을 위해 자유롭게 제공하고 있습니다.
- [엑셀공식] 엑셀 달력 날짜 변환하기예제파일
날짜/숫자 변환을 위한 로케일서식 상세목록
1. 숫자 또는 날짜의 표현방식 (xx)
엑셀 달력 변환 후 날짜를 표현할 방식을 지정합니다. 노란색 굵은 글씨는 평소 실무에서 자주 사용되는 로케일 서식입니다.
00 = 시스템 기본값 (제어판 설정)
01 = 영어
02 = 아랍(힌디어)
03 = 아랍(힌디어)-확장
04 = 산스크리트어
05 = 벵골어
06 = 고루 무치
07 = 구자라트어
08 = 오리아어(오리사 지방 언어)
09 = 타밀어 (남인도 및 스리랑카에서 사용되는 언어)
0A = 텔루구어 (인도 남서부 안드라 프라데시(Andhra Pradesh)에서 사용되는 언어)
0B = 칸나다어(인도 남서부 카르나타카에서 사용되는 언어)
0C = 말라얄람어 (인도 서남부 케랄라(Kerala)에서 사용하는 언어)
0D = 태국어
0E = 라오스어
0F = 티벳어
10 = 버마어
11 = 에티오피아어
12 = 캄보디아어
13 = 몽골어
1B = 일본어 1
1C = 일본어 2
1D = 일본어 3
1E = 중국어 간체 1 (소문자)
1F = 중국어 간체 2 (대문자)
20 = 중국어 간체 3 (전각 숫자)
21 = 중국어 번체 1 (소문자)
22 = 중국어 번체 2 (대문자)
23 = 중국어 번체 3 (전각 숫자)
24 = 한국어 1 (한자, 간체)
25 = 한국어 2 (한자, 번체)
26 = 한국어 3 (숫자)
27 = 한국어 4 (한글)2. 달력 포맷 (yy)
달력 포맷을 지정합니다. 평소에 사용하는 양력달력은 '그레고리력' 이며, 필요시 음력(=0E), 중화민국력(=04) 등으로 사용합니다.
00 = 시스템 기본값 (제어판 설정)
01 = 그레고리력(양력, 시스템기준)
02 = 그레고리력(양력, 미국)
03 = 일본
04 = 대만
05 = 한국(단군기원)
06 = 아랍음력
07 = 태국
08 = 유태인
09 = 그레고리력 (중동, 프랑스)
11 = 음력 1 (비공식)
12 = 음력 2 (비공식)
13 = 음력 3 (비공식)
0A = 그레고리력 (아랍)
0B = 그레고리력 (번역영어)
0E = 음력 4 (비공식)3. 표시 언어 (zzzz)
엑셀 달력 변환 후 결과값으로 표시될 언어를 지정합니다. 첫 2자리로 설정한 표현방식(xx)와 다른 표시언어를 지정할 경우 옳지않은 값이 출력 될 수도 있습니다.
0401 = 아랍어 (= 1025)
0402 = 불가리아어 (= 1026)
0403 = 카탈로니아어 (= 1027)
0404 = 중국어 번체 (= 1028)
0405 = 체코어 (= 1029)
0406 = 덴마크어 (= 1030)
0407 = 독일어 (= 1031)
0408 = 그리스어 (= 1032)
0409 = 영어 (미국) (= 1033)
040B = 핀란드어 (= 1035)
040C = 프랑스어 (= 1036)
040D = 히브리어 (= 1037)
040E = 헝가리어 (= 1038)
040F = 아이슬란드어 (= 1039)
0410 = 이탈리아어 (= 1040)
0411 = 일본어 (= 1041)
0412 = 한국어 (= 1042)
0413 = 네덜란드어 (= 1043)
0414 = 노르웨이어 (= 1044)
0415 = 폴란드어 (= 1045)
0416 = 포르투갈어 (= 1046)
0418 = 루마니아어 (= 1048)
0419 = 러시아어 (= 1049)
041A = 크로아티아어 (= 1050)
041B = 슬로바키아어 (= 1051)
041C = 알바니아 (= 1052)
041D = 스웨덴어 (= 1053)
041E = 태국어 (= 1054)
041F = 터키어 (= 1055)
0420 = 우르두어 (= 1056)
0421 = 인도네시아어 (= 1057)
0422 = 우크라이나어 (= 1058)
0423 = 벨로루시어 (= 1059)
0424 = 슬로베니아어 (= 1060)
0425 = 에스토니아어 (= 1061)
0426 = 라트비아어 (= 1062)
0427 = 리투아니아어 (= 1063)
0428 = 타직어 (= 1064)
0429 = 페르시아어 (= 1065)
042A = 베트남어 (= 1066)
042B = 아르메니아어 (= 1067)
042C = 아제르바이잔어 (= 1068)
042D = 바스크어 (= 1069)
042F = 마케도니아어 (= 1071)
0436 = 아프리칸스어 (= 1078)
0437 = 그루지야어 (= 1079)
0438 = 파로어 (= 1080)
0439 = 힌디어 (= 1081)
043A = 몰타어 (= 1082)
043D = 이디시어 (= 1085)
043E = 말레이어 (= 1086)
043F = 카자흐어 (= 1087)
0440 = 키르기스어 (= 1088)
0441 = 스와힐리어 (= 1089)
0442 = 투르크멘어 (= 1090)
0443 = 우즈벡어 (= 1091)
0444 = 잠언어 (= 1092)
0445 = 벵골어 (= 1093)
0446 = 펀자브어 (= 1094)
0447 = 구자라트어 (= 1095)
0448 = 오리야어 (= 1096)
0449 = 타밀어 (= 1097)
044A = 텔루구어 (= 1098)
044B = 칸나다어 (= 1099)
044C = 말라얄람어 (= 1100)
044D = 아삼어 (= 1101)
044E = 마라타어 (= 1102)
044F = 산스크리트어 (= 1103)
0450 = 몽골어 (= 1104)
0456 = 갈리시아어 (= 1110)
0457 = 건간어 (= 1111)
0458 = 마니푸르어 (= 1112)
0459 = 신디어 (= 1113)
045A = 시리아어 (= 1114)
045B = 신 할라어 (= 1115)
045C = 콩가어 (= 1116)
045D = 이누이트어 (= 1117)
045E = 암하라어 (= 1118)
045F = 타마어 (= 1119)
0460 = 카슈미리어 (= 1120)
0461 = 네팔어 (= 1121)
0462 = 프리지아어 (= 1122)
0463 = 파슈토어 (= 1123)
0464 = 필리핀어 (= 1124)
0465 = 디 베히어 (= 1125)
0466 = 콰어 (= 1126)
0467 = 퍼브어 (= 1127)
0468 = 하우사어 (= 1128)
0469 = 이비오비어 (= 1129)
046A = 요 루바어 (= 1130)
0470 =이 그보어 (= 1136)
0471 = 카 누리어 (= 1137)
0472 = 쿠트트어 (= 1138)
0473 = 티그리냐어 (= 1139)
0475 = 하와이어 (= 1141)
0476 = 라틴어 (= 1142)
0477 = 소말리아어 (= 1143)
0478 = 잠언 (= 1144)
0804 = 중국어 (간체) (= 2052)
0807 = 독일어 (= 2055)
0809 = 영어 (영국) (= 2057)
0814 = 노르웨이어 (= 2068)
0816 = 포르투갈어 (= 2070)
081A = 세르비아어 (= 2074)
082C = 아제르어 (= 2092)
0843 = 우즈벡어 (= 2115)
0873 = 티그리냐어 (= 2163)
085F = 타마어 (라틴) (= 2143)
0C07 = 독일어 (오스트리아) (= 3079)
0C09 = 영어 (호주) (= 3081)
0C0A = 스페인어 (= 3082)
0C0C = 프랑스어 (캐나다) (= 3084)
0C1A = 세르비아어 (= 3098)
1009 = 영어 (캐나다) (= 4105)

이게 다른 사람이 올린 것보다 정확해서 쓰려고 했는데
천문관 홈페이지에서 양력을 음력으로 해서 확인해보니 2042년 03월 22일부터는 음력이 틀렸네요
https://astro.kasi.re.kr/life/pageView/8
다른 변환 사이트에서도 마찬가지구요
2042년 3월 21일은 02월 30일이 음력, 2042년 3월 22일은 02월 1일이 음력이네요
첨엔 변환 사이트가 틀렸다고 생각했지만 아닌 것 같습니다
제가 음력을 잘 몰라서 왜 틀렸는지 설명은 못하겠지만 그 점을 수정해야 될 것 같아요
이거 외에도 윤달이면 그냥 다 맞지 않아요
감사합니다
네 말씀하신 내용이 맞습니다. 사실 저도 양력<->음력이 어떤 원리로 계산되는지는.. 정확히 알지를 못합니다.
윤달도 고려해야하고, 윤달 말고도 주기적으로 양력/음력을 맞춰주는 작업이 필요하다고 알고 있는데요.
엑셀에서 제공하는 양력<->음력 변환 서식은 사실 이런 부분을 모두 반영하지를 못합니다..
저도 위 페이지는 처음 보았는데, 위 페이지가 정확한 정보를 제공하고, 그리고 양력<->음력의 정확한 정보가 필요하다면 웹 스크랩 으로 접근해보는건 어떠실까요?^^
예를들어 위와 같이 입력하면 2020년 1월 1일의 음력정보를 받아옵니다..
소중한 정보 확인 감사드리며, 제시해드린 답변이 조금이나마 도움이 되셨길 바랍니다.
저도 달력(음력이 포함된)이 필요하여 적용해 보니
오늘(2021-02-09) 음력 표기가 [2020년 13월 28일]로 표기..
윤달 때문인듯 합니다..
혹시 음력 -> 양력은 이방법으로 불가할지 여쭤보고 싶습니다..
음력->양력은 셀 서식으로 변경이 불가능합니다. 음력 -> 양력 변환은 VBA를 사용하셔야만 가능합니다.
아래 링크를 참고해보세요.
https://www.programmersought.com/article/83554995208/
제가 매년 설을 함수로만 구현하기 위해 만든 수식인데요.
=DATE(YEAR(TODAY()),IF(MID(TEXT(DATE(YEAR(TODAY()),2,1),"[$-120000]yyyy-mm-dd"),6,2)="01",2,3),1)-DAY(TEXT(DATE(YEAR(TODAY()),IF(MID(TEXT(DATE(YEAR(TODAY()),2,1),"[$-120000]yyyy-mm-dd"),6,2)="01",2,3),1),"[$-120000]yyyy-mm-dd"))+1
(우리나라의 음력 달력은 음력 2(비공식)을 사용하는 것 같습니다. 1을 넣었을 때 오류가 있었습니다. 물론 3, 4는 아직 확인을 안 해본 터라 뭐라 말씀드리기가 그렇네요.)
이걸 좀 더 다듬어서 활용해본다면 복잡이야 하겠지만 엑셀 자체의 로케일과 함수들의 조합만으로 계산하여 음력 날짜 계산을 함수 만으로 하는 것이 가능하지 않을까 하는 생각에 공유해봅니다. (물론 윤달 문제까지는 고려하지 않았습니다만 ㅠㅠ 그 부분도 좀 더 정교화해볼 수 있으면 좋겠네요.. 확인해보니 윤달이 윤 몇월인가는 계산하지 않고 무조건 윤달이 있는 해는 13월로 계산해버리더라고요.. 이렇게 되면 윤2월 이런거 들어오면 전체적으로 밀리는데 문제는 그 윤달이 몇월인지 계산하는 방법도 애매합니다.)
맨날 얻어가기만 해서 어줍잖게나마 댓글 달아봅니다.
늘 감사합니다.