안녕하세요 여몽의 눈동자입니다. 날짜열이 날짜형식이 아닌 경우 그림을 그릴 때나 소요일자를 계산하는 등에 있어 여러 불편한 점이 많은데요, 이번에는 엑셀 날짜형식이 아닌 날짜열을 날짜형식으로 변환하는 방법에 대해 이야기해보려 합니다.
Case 1. 한국은행 Open API 를 통해 받은 자료의 날짜를 날짜형식으로 변환
(숫자형식날짜 -> 날짜형식날짜)
지난번 포스팅에서와 같이 데이터를 다운받아 아래와 같은 데이터를 생성했다고 가정합니다. 날짜를 보시면 예를 들어 1971.1 월은 197101 이라는 숫자로 나타나 있습니다.
(파일 다운로드)
처음 네자리는 연도, 그다음 두자리는 월 이라는 점에 착안하여 텍스트 나누기 기능을 이용하여 날짜형식으로 변환하는 법을 소개하겠습니다. 우선 A열 우측에 빈 열을 하나 만들어 줍니다.
행 레이블 (A1 셀) 을 제외한 모든 년도월셀을 선택합니다. (A2 셀을 선택한 후 Ctrl+Shift+방향키 아래를 동시에 누르면 편합니다.)
상단 리본메뉴 데이터 -> 텍스트나누기를 선택합니다. (또는, Alt->a->e 를 차례로 타이프 합니다.) 그리고 너비가 일정함을 선택합니다.
년도와 월 사이에 구분선을 만들어 줍니다. 하얀 영역안을 드래그 하면 구분선의 위치를 조절 할 수 있습니다. 그리고 다음을 선택합니다.
그리고 마침을 클릭하고 나오면 아래와 같은 모습을 볼 수 있습니다. A열은 년도 B열을 월을 담고 있네요.
이제 B열 옆에 빈 열을 하나 더 만들고 그곳에 DATE 함수를 이용해 날짜형식을 만들겠습니다. DATE 함수는 연도, 월, 일을 인수로 날짜형식을 만듭니다. 따라서, 년도는 A열, 월은 B열을 지정하고 날짜는 1일로 넣어줍니다.
수식을 넣어주고 C열의 이름을 날짜로 지정하면 다음과 같은 결과를 볼 수 있습니다.
이제 A,B열은 지워줘야겠죠? 우선 지우기 전에 날짜열의 날짜를 복사한후 그 위치에 값으로 다시 저장해 줍니다. C열을 수식으로 두면 A,B열을 참조하기 때문에 A,B열 삭제시 문제가 생기기 때문에 이 과정이 필요합니다. 즉 위에서처럼 C2를 선택하고 Ctrl+Shift+방향키 아래를 동시에 눌러 데이터가 있는 셀을 모두 선택하고 Ctrl+C를 눌러 복사를 합니다. 그리고 Alt -> h -> v -> v 를 차례로 타이프 하면 값으로 변환할 수 있습니다.
그리고 A,B열을 삭제해 주면 날짜 형식으로 변환이 완료됩니다.
Case 2. 텍스트 형식인 날짜를 날짜 형식으로 변환
우선 데이터는 한국은행 ECOS에 방문하여 웹에서 월별종합주가지수를 2000.1월부터 2019.5월까지 다운받았습니다. (파일 다운로드)
날짜열을 보시면 텍스트 형식으로 되어 있습니다. 다행이 현재 형식은 Datevalue 함수를 이용하면 손쉽게 이를 날짜형식으로 전환할 수 있습니다. C열에 날짜열을 만든다고 가정하겠습니다.
함수를 일괄 적용시켜주면 이제 날짜형식으로 변환된 것을 볼 수 있습니다.
Case 3. Datevalue 함수를 사용할 수 없는 경우
위와 같은 예의 경우 datevalue 함수를 그대로 적용하면 에러가 납니다. 중간에 구분자로 쓰인 . 을 인식하지 못하기 때문인데요 따라서 이때는 다음과 같이 substitute 함수를 써서 . 을 /로 먼저 변경해 줍니다.
보시면 그냥 숫자가 나오는 것은 C열의 셀 형식이 아직 일반셀이기 때문입니다. 이때는 C열을 선택하고
Case 1. 한국은행 Open API 를 통해 받은 자료의 날짜를 날짜형식으로 변환
(숫자형식날짜 -> 날짜형식날짜)
지난번 포스팅에서와 같이 데이터를 다운받아 아래와 같은 데이터를 생성했다고 가정합니다. 날짜를 보시면 예를 들어 1971.1 월은 197101 이라는 숫자로 나타나 있습니다.
(파일 다운로드)
처음 네자리는 연도, 그다음 두자리는 월 이라는 점에 착안하여 텍스트 나누기 기능을 이용하여 날짜형식으로 변환하는 법을 소개하겠습니다. 우선 A열 우측에 빈 열을 하나 만들어 줍니다.
행 레이블 (A1 셀) 을 제외한 모든 년도월셀을 선택합니다. (A2 셀을 선택한 후 Ctrl+Shift+방향키 아래를 동시에 누르면 편합니다.)
상단 리본메뉴 데이터 -> 텍스트나누기를 선택합니다. (또는, Alt->a->e 를 차례로 타이프 합니다.) 그리고 너비가 일정함을 선택합니다.
년도와 월 사이에 구분선을 만들어 줍니다. 하얀 영역안을 드래그 하면 구분선의 위치를 조절 할 수 있습니다. 그리고 다음을 선택합니다.
그리고 마침을 클릭하고 나오면 아래와 같은 모습을 볼 수 있습니다. A열은 년도 B열을 월을 담고 있네요.
이제 B열 옆에 빈 열을 하나 더 만들고 그곳에 DATE 함수를 이용해 날짜형식을 만들겠습니다. DATE 함수는 연도, 월, 일을 인수로 날짜형식을 만듭니다. 따라서, 년도는 A열, 월은 B열을 지정하고 날짜는 1일로 넣어줍니다.
수식을 넣어주고 C열의 이름을 날짜로 지정하면 다음과 같은 결과를 볼 수 있습니다.
이제 A,B열은 지워줘야겠죠? 우선 지우기 전에 날짜열의 날짜를 복사한후 그 위치에 값으로 다시 저장해 줍니다. C열을 수식으로 두면 A,B열을 참조하기 때문에 A,B열 삭제시 문제가 생기기 때문에 이 과정이 필요합니다. 즉 위에서처럼 C2를 선택하고 Ctrl+Shift+방향키 아래를 동시에 눌러 데이터가 있는 셀을 모두 선택하고 Ctrl+C를 눌러 복사를 합니다. 그리고 Alt -> h -> v -> v 를 차례로 타이프 하면 값으로 변환할 수 있습니다.
그리고 A,B열을 삭제해 주면 날짜 형식으로 변환이 완료됩니다.
Case 2. 텍스트 형식인 날짜를 날짜 형식으로 변환
우선 데이터는 한국은행 ECOS에 방문하여 웹에서 월별종합주가지수를 2000.1월부터 2019.5월까지 다운받았습니다. (파일 다운로드)
날짜열을 보시면 텍스트 형식으로 되어 있습니다. 다행이 현재 형식은 Datevalue 함수를 이용하면 손쉽게 이를 날짜형식으로 전환할 수 있습니다. C열에 날짜열을 만든다고 가정하겠습니다.
함수를 일괄 적용시켜주면 이제 날짜형식으로 변환된 것을 볼 수 있습니다.
Case 3. Datevalue 함수를 사용할 수 없는 경우
위와 같은 예의 경우 datevalue 함수를 그대로 적용하면 에러가 납니다. 중간에 구분자로 쓰인 . 을 인식하지 못하기 때문인데요 따라서 이때는 다음과 같이 substitute 함수를 써서 . 을 /로 먼저 변경해 줍니다.
보시면 그냥 숫자가 나오는 것은 C열의 셀 형식이 아직 일반셀이기 때문입니다. 이때는 C열을 선택하고
고맙습니다 잘 따라해서 제가 원하는 파일을 한번 만들어봤네요 감사합니다.
답글삭제