본문 바로가기
엑셀 기초 강좌

046. (엑셀 기초 함수) Date, Year, Month, Day 함수 사용법 - 날짜를 숫자로 숫자를 날짜로 년, 월, 일 관리

by Excel.Jump 청출어람 2022. 12. 30.
반응형



Date, Year, Month, Day 함수



■ 목차


1. 함수 설명
2. 엑셀은 날짜를 어떻게 관리를 하나?
3. Date, Year, Month, Day 함수는 왜 필요한가?
4. Date 함수의 구문 및 사용방법
5. Year, Month, Day 함수의 구문 및 사용법
** 핵심 요약



1. 함수 설명


- 엑셀에서 날짜를 다루는 대표적인 함수가 Date, Year, Month, Day 함수입니다.
- 주로 날짜를 가지고 뭔가를 하기 전에 정확한 날짜 형식의 정보를 만들거나 날짜형식에서 년, 월, 일 정보를 추출하는데 많이 사용을 합니다.

- Year, Month, Day 함수는 날짜에서 연도, 월, 일에 해당하는 각각의 숫자를 구할 수 있습니다.
- "2025/10/01"에서 Year 함수는 연도에 해당하는 2002를 Month 함수는 월에 해당하는 10을 day 함수는 일에 해당하는 1을 구할 수 있는 함수입니다.

- 이와는 반대로 Date 함수는 년, 월, 일의 숫자를 입력하여 날짜를 나타내는 "순차적인 일련 번호(?)"를 얻는다고 하는데 날짜 데이터를 얻을 수 있다는 얘기입니다.
- "날짜를 나타내는 순차적인 일련번호"라는 의미를 이해하기 위해서는 엑셀이 날짜를 관리하는 원리를 이해하실 필요가 있는데 함께 설명을 드리도록 하겠습니다.



2. 엑셀은 날짜를 어떻게 관리를 하나?


- 먼저 엑셀이 어떻게 날짜를 관리하는지 간단하게 설명을 하도록 하겠습니다.
- 그래서 왜 "날짜관련 순차적인 일련번호"라는 것이 있는지 이게 어떻게 날짜가 되고 왜 Year, month, day 함수로 각각의 숫자를 구해야 하는지에 대한 기초적인 이해 정도입니다.

- 엑셀은 날짜를 숫자로 관리를 합니다. 그래서 우리가 보는 날짜형식은 보이는 서식에 불과하고 진짜는 숫자입니다.
- "1900년 1월 1일 = 숫자 1"입니다. 이를 기준으로 매일 하루에 숫자 1씩 증가해서 날짜의 진짜 값 ( = 날짜를 나타내는 순차적인 일련번호 = Serial number)을 관리합니다.
- 그리고 이 숫자를 셀 서식 기능을 통해서 우리에게는 날짜 형식으로 보여주기를 할 뿐입니다

- "2022/12/31"은 "1900/1/1"에서 하루에 1씩 더해져서 "44926"이라는 "날짜 관련 순차적인 일련번호"가 되는 것입니다.
- "1900/01/01"이 날짜 일련번호 1이되고 그날부터 하루에 1씩 더해져서 "2022/12/31"은 날짜 관련 일련번호가 "44926"가 되는 것입니다.

- 원본이 일련의 숫자이기 때문에 년, 월, 일을 따로 구할려고 Year, Month, day 함수를 사용합니다.
- 그리고 우리가 인식하고 있는 year, month, day을 인수로 넣으면 거기에 해당하는 날짜의 일련번호를 구해주는 방식입니다.
- 이게 우리가 엑셀 도움말에서 날짜관련 내용을 보게 되면 엑셀이 계속 얘기하는 "Serial number, 일련번호"라고 하는 것의 정체입니다.


- 이렇게 엑셀은 날짜를 관리하고 특히나 날짜의 입력에 엄격한 규칙(?)을 가지고 정확한 입력을 요구하고 있습니다.
- 우리에게 요구하는 입력 규칙은 "2022/12/31" 혹은 "2022-12-31" 과 같이 "슬래쉬( / )" 혹은 하이픈( - )으로 정확하게 입력해야 정해진 규칙에 따라 엑셀은 날짜로 입력했구나 하고 "날짜 일련번호"를 원본으로 가지고 "날짜 서식"으로 보여주게 됩니다.

- 엑셀에서 요구하고 우리가 입력해야 하는 날짜 입력 규칙은 아래와 같습니다. 위에 있는 2개가 우리가 자주 사용하는 형식입니다.
- 나머지는 참조로 아시면 됩니다. 보여지는 형식은 언제든지 셀 서식에서 변경을 할 수 있습니다.

엑셀이 요구하는 날짜 입력 방식
* 엑셀이 요구하는 날짜 입력 방식


- 여기에서 "01월 01일" 이라는 형식이 보입니다. 그런데 우리가 직접 "01월 01일"이라고 입력을 하게 되면 어떻게 될까요?
- "01월 01일"은 엑셀의 날짜 입력형식이 아니기 때문에 그냥 문자로 취급해 버립니다.
- 엑셀이 날짜로 입력을 요구하는 형식은 딱 2개 "슬래쉬 ( / ), 하이픈 ( - )"을 사용한 입력 방식입니다.

- 그래서 나머지는 우리들 눈에만 날짜이지 엑셀의 입장에서는 그냥 "문자"에 불과합니다
- 그리고 엑셀이 제공하는 수 많은 날짜 관련 기능은 "문자"이기 때문에 사용이 불가합니다.
- 이런 점 때문에 날짜가 우리에게 특히 데이터 관리를 하는 데 있어서 가장 많은 오류를 가져오는 이유가 됩니다.



3. Date, Year, Month, day 함수는 왜 필요한가?


- 날짜의 원래 값은 "일련 번호"라고 얘기를 했었습니다. 그래서 엑셀이 이 일련 번호에서 연도, 월, 일을 가져오려면 Date, Year, Month 함수를 사용을 해줘야 합니다.
- 우리눈에는 정말 연도, 월, 일이 확실하게 보이지만 엑셀은 프로그램이기 때문에 "원래 값 = 일련번호"에서 계산을 하는 작업이 필요합니다.

- 그리고 Date 함수는 이게 날짜관련해서 사람들이 원체 많은 입력 오류를 만들고 있기 때문에 진짜 확실한 날짜 형식의 데이터를 만들거나 기존의 데이터를 날짜 형식으로 변형하기 위해서 제공 되는 부분이 있다고 생각을 합니다.
- 그리고 몇 가지 날짜관련 기능들을 가지고 있으며 년, 월, 일을 더하기 빼기를 할 수 있어서 규칙적으로 만들기 용이합니다. 아래 함수 설명 편에서 자세히 설명을 드리도록 하겠습니다.

- 우리 눈에 보이는 날짜와 엑셀이 진짜 날짜라고 생각하는 것은 다를 수 있습니다. 그 눈높이를 맞춰주는 함수들 이라고 생각합니다.

- 엑셀이 요구하는 날짜의 입력 형식과 Date, Year, Month, Day 함수 정도 사용을 하시면 날짜형식의 데이터에서 우리는 최소한 오류 없이 생성하는 것은 가능합니다.
- 그리고 나서 다음 단계인 날짜를 활용한 수식이나 함수의 자유로운 사용이 가능하게 됩니다.



4. Date 함수의 구문 및 사용방법

- DATE(year,month,day)

- year 필수 요소입니다. 연도 인수의 값은 1-4자리 숫자를 포함할 수 있습니다.
- month 필수 요소입니다. 1월에서 12월 사이의 월을 나타내는 양의 정수나 음의 정수입니다.
- day 필수 요소입니다. 1일에서 31일 사이의 일을 나타내는 양의 정수나 음의 정수입니다.


- 위의 구문은 엑셀 도움말에 있는 설명입니다. 한글인데 좀 어렵습니다. 눈에 익히는 것이 도움이 될 것 같아 일단 그대로 인용했습니다.

- 인수로 년, 월, 일을 입력하면 되겠습니다. "= Date (2022, 12, 1) " 처럼 숫자나 년, 월, 일에 해당하는 셀 주소를 입력하면 됩니다.

- 이 Date 함수의 사용 용도는 잘못된 날짜 데이터 입력을 정확한 날짜 형식으로 만들어 주는 용도로 가장 많이 사용이 됩니다.
- 아래와 같은 대표적인 사례를 참조하시기 바랍니다.

Date함수로 날짜 데이터 변환
* Date함수로 날짜 데이터 변환


- 그리고 Date 함수가 확장성을 가지는게 특히 year, month, day 인수에 수식으로 달력의 월이나 일을 초과하는 숫자나 음수가 들어갈 수 있습니다.
- 그래서 Month로 "12+10"과 같이 "+ 10개월"을 입력을 할 수 있고 이렇게 되면 10개월 후의 날짜를 구해 줍니다.
- Day도 동일합니다. "1+ 100"로 100일 후에 날짜를 " 1- 100"으로 100일 이전의 날짜를 구해 줄 수있습니다.
- 이렇게 year, month, day 인수에 사칙연산 등을 이용한 수식 계산이 가능하기 때문에 다양하게 응용이 가능하게 됩니다.

- 대신 month, day 값 자체가 음수로 입력되는 경우는 조금 다르게 운영이 됩니다. 크게 사용할 일은 없을 것 같은데 확인하고 사용하시기 바랍니다.
- 참고로 0달, 0일에서 빼는 방식입니다. ^^

Data 함수의 응용
* Data 함수의 응용


- 그리고 우리가 날짜를 취급하다보면 특정 달의 첫날, 마지막날을 찾아야 하는 경우가 있는데
- 첫날은 "day 인수 = 1" 이 됩니다.
- 그러면 "마지막 날을 = Date(year, month +1, 0)"로 구할 수 있게 됩니다.

Date 함수 - 첫째날, 마지막날 구하기
* Date 함수 - 첫째날, 마지막날 구하기




5. Year, Month, Day 함수의 구문 및 사용방법


- YEAR(serial_number)
- MONTH(serial_number)
- DAY(serial_number)

- serial_number 필수 요소입니다. 연도, 월, 일을 구할 날짜입니다


- serial_number - 나왔네요 날짜의 일련번호 입니다.
- 이제는 날짜의 일련번호라는 의미를 아시겠는지요? 그냥 날짜 데이터가 들어간다고 보시면 됩니다. 날짜처럼 보이는 데이터가 아닌..

- 여기서는 주의하실 점은 금방 얘기드린 날짜 데이터를 넣는 것입니다. 이 거 외에는 특별히 오류를 만들 일이 없습니다.
- 그리고 Year, Month, Day 함수로 구해지는 값은 "정수"입니다.

Year, Month, Day 함수
* Year, Month, Day 함수




** 핵심 요약 : Date, Year, Month, Day 함수 사용법 - 날짜를 숫자로 숫자를 날짜로 년, 월, 일 관리


1. 함수 설명

- Year, Month, Day 함수는 날짜 형식의 값에서 연도, 월, 일에 해당하는 각각의 숫자를 구할 수 있다.
- Date 함수는 년, 월, 일의 숫자를 입력하여 날짜를 나타내는 순차적인 일련번호를 얻는다. 즉 날짜 데이터를 만들 수 있다.


2. 엑셀은 날짜를 어떻게 관리를 하나?

- 엑셀은 날짜를 숫자로 관리를 한다.
- "1900년 1월 1일 = 숫자 1"을 기준으로 매일 하루에 숫자 1씩 증가해서 날짜를 관리한다.
- 엑셀이 요구하는 날짜 데이터 입력은 "슬래쉬( / ) 혹은 하이픈( - )"으로 구분하는 방식이다. "2022/10/01", "2022-10-01"
- 그 외 나머지 날짜 처럼(?) 입력하는 것은 엑셀은 모두 "문자"로 취급한다.


3. Date, Year, Month, day 함수는 왜 필요한가?

- 엑셀은 프로그램이기 때문에 날짜의 "원래 값 = 일련번호"에서 계산을 하는 작업이 필요합니다.
- 우리 눈에 보이는 날짜와 엑셀이 진짜 날짜라고 생각하는 것은 다를 수 있다. 그 눈높이를 맞춰주는 함수이다.


4. Date 함수의 구문 및 사용방법

- DATE(year,month,day)

- year 필수 요소입니다. 연도 인수의 값은 1-4자리 숫자를 포함할 수 있습니다.
- month 필수 요소입니다. 1월에서 12월 사이의 월을 나타내는 양의 정수나 음의 정수입니다.
- day 필수 요소입니다. 1일에서 31일 사이의 일을 나타내는 양의 정수나 음의 정수입니다.

- "= Date (2022, 12, 1) "처럼 숫자나 년, 월, 일에 해당하는 셀 주소를 입력하면 된다.
- month 인수에 "12+ 3"처럼 +3으로 3개월 후의 날짜나, day의 인수에 "1 + 100"처럼 +100으로 100일 후의 날짜를 구할 수 있다.

- 첫날은 "day 인수 = 1" 이되고 마지막 날은 "= Date(year, month +1, 0)"로 구할 수 있다.


5. Year, Month, Day 함수의 구문 및 사용방법

- YEAR(serial_number)
- MONTH(serial_number)
- DAY(serial_number)

- serial_number 필수 요소입니다. 연도, 월, 일을 구할 날짜입니다
- 인수로 날짜 데이터만 잘 넣으면 틀릴 수가 없다.

046. (엑셀 기초 함수) Date, Year, Month, Day 함수-예제
0.01MB

 

 

[엑셀 기초 강좌] - 999. 엑셀 기초 함수 목차 (완료)

 

999. 엑셀 기초 함수 목차 (완료)

[엑셀 기초 강좌] - 029. (엑셀 기초 함수) Sum함수 : 숫자의 합계를 구해보자 [엑셀 기초 강좌] - 030. (엑셀 기초 함수) Max, Min 함수 - 최대값, 최소값을 구해보자 [엑셀 기초 강좌] - 031. (엑셀 기초 함

nextmeok.tistory.com





* 엑셀 관련 궁금하신 거나 어려운 점이 있으시면 자유롭게 질문을 해주세요.
* 가능한 도움을 드릴 수 있도록 하겠습니다.
* 저도 많이 알지는 못하지만 누구나 그렇듯 시작이란 게 있고 경험이란 게 다를 것 같습니다.
* 편하게 문의하시면 됩니다. 저도 모를 수 있다. 감안해 주시고.

- ILU, SH -

반응형

댓글