강좌 및 설정/엑셀 기초

엑셀 함수 - 날짜(DATE, TODAY)

웹 개발자의 비상 2023. 8. 5. 15:09

제품관리가 필요한 쇼핑몰이나 오프라인 매장에서는 엑셀이 아닌 다른 웹프로그램이나 전용프로그램등을 사용하여 판매관리를 합니다. 이런 경우 날짜를 그냥 숫자만으로 처리하는 경우가 상당히 많습니다. 예로 2015년 2월 15일 판매된 물건은 단순하게 20150215로 데이터베이스에 저장하는 형식이 대표적입니다.

 

하지만 통계나 결과를 산출하기 위해서는 이런 형식의 데이터를 엑셀로 변환해야 하는 경우가 발생하는데 이 경우에 가장 많이 문제가 되는 것이 날짜입니다. 위의 경우 처럼 엑셀로 가져올 경우 엑셀에서는 서식을 그냥 일반이나 text로 처리하기 때문에 단순하게 서식을 날짜로 바꾸면 의도치 않은 결과가 나옵니다. 이유는 날짜 서식은 1900년 1월 0일을 기준으로 숫자 1이 하루를 지난 1900-01-01로 나타내기 때문이죠. 위의 경우라면 1900년 1월 0일부터 20150215일이 지난 날을 의미하게 되는 것이죠. 날짜 서식은 지난 강좌  셀 표시형식 "날짜"의 이해 편을 확인해 주시기 바랍니다.

 

그래서 이렇게 문자 형태로 만들어진 날짜는 반드시 날짜의 형식으로 변경해야 하는데 이때 사용하는 함수가 DATE입니다.

 

DATE

인수로 지정된 날짜를 날짜 서식으로 반환합니다.
DATE(year,month,day)
  • year - 년 (yyyy 표시형식 사용 추천)
    (0과 1899(포함) 사이의 범위에 있으면 그 값을 1900에 더하여 연도가 계산) ex) 108=>1900+108=2007
  • month - 월 (mm 표시 형식 사용 추천)
    (12보다 크면 그 값을 지정된 연도의 첫째 달에 더하여 month가 계산) ex) DATE(2008,14,2) =>2009-02-02
  • day - 일, 1일에서 31일 사이의 일을 나타내는 양의 정수나 음의 정수입니다 (dd 표시 형식 사용 추천)
    (day 가 지정된 달의 일 수보다 크면 넘는 일수를 다음달에 더하는 방식으로 계산, 1보다 작으면 전 달의 마지막 날에서 빼는 방식으로 계산)
    ex) DATE(2008,1,35)  => 2008-02-04,  DATE(2008,1,-15) => 2007-12-16

 

DATE함수의 인수 year, month, day는 문자추출 함수(LEFT, MID, RIGHT)함수를 사용해서 가져올 수 있습니다. 함수를 모르신다면 엑셀 함수 - 문자 추출(FIND, LEN, LEFT, RIGHT, MID) 강좌를 먼저 읽어보신후에 진행해 주세요

 

 

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

 

 

 

예제파일을 보면

 

 

판매날짜가 위와 같이 일반 서식의 형태로 들어와 있습니다. 엑셀의 날짜 서식 형태로 변경을 위해 진행하겠습니다.

 

 

  1. 변환해서 나타낼 셀 D7셀을 클릭하여 선택합니다.
  2. 수식입력줄에서 DATE함수를 작성 => =DATE(
  3. year 인수(년)를 C7셀 값에서 LEFT함수로 추출하여 작성 => =DATE(LEFT(C7,4)
  4. 콤마 입력후 month 인수(월)를  C7셀 값에서 MID함수로 추출하여 작성 => =DATE(LEFT(C7,4),MID(C7,5,2)
  5. 콤마 입력후 day 인수(일)를  C7셀 값에서 RIGHT함수로 추출하여 작성 후 DATE 함수의 마지막 괄호를 닫아 수식을 완성합니다.  => =DATE(LEFT(C7,4),MID(C7,5,2),RIGHT(C7,2))
  6. D7셀을 D12까지 자동채우기해서 판매일을 날짜 서식을로 반환합니다.

 

정상적으로 D7:D12 범위에 날짜가 반환되어 들어왔습니다. 

 

반응형

 

이제 하고 싶은 것은 기준일을 정하고 판매일에서 기준일까지 몇일을 사용했는지 사용일 영역에 나타내고자 합니다. 그런데 기준일은 오늘로 하고 싶습니다.  이를 위해 기준을 E4셀에 오늘 날짜를 입력해도 되고요 단축키로 ctrl+; 를 입력하면 자동으로 오늘 날짜가 입력됩니다. 하지만 기준일을 파일을 열어본 바로 그날(현재 오늘)로 하고 싶으면 파일을 열어볼때마다 E4셀을 변경해야 합니다. 

이렇게 파일을 열어볼때마다 현의 날짜를 기준으로 하고 싶다면 바로 TODAY 함수를 사용하면 간단합니다.

 

TODAY

현재 날짜를 표시합니다. 인수가 없습니다.
TODAY()

 

그럼 기준일을 현재로 정하겠습니다.

 

 

  1. 기준일 E4셀을 클릭하여 선택합니다.
  2. 수식입력줄에 =TODAY() 함수를 작성합니다. => =TODAY()

이렇게 작성해 놓고 만약 내일 이 파일을 열어 본다면 기준일은 2023-08-06이 될 것입니다.

 

마지막으로 사용일 입니다. 기준일에서 판매일(변환)을 빼주면 되겠죠

 

 

  1. 사용일 E7셀을 클릭하여 선택합니다.
  2. 수식입력줄에 수식활용을 위해 "="을 입력합니다. => =
  3. 기준일 E4셀을 클릭하여 상대참조한뒤 키보드 f4키를 눌러 절대 참조로 바꿉니다. => =$E$4
  4. 마이너스 입력후 판매일셀(D7)을 클릭하여 참조하여 수식을 끝냅니다. => =$E$4-D7
  5. E7셀을 E12셀까지 자동채우기해서 마무리합니다.

사용일이 정상적으로 계산되었습니다.

 

 

참고로 위와 같이 판내날짜를 함수로 자동화 할 필요가 없다면 즉 한번만 이 파일을 작성할 예정이라면 굳이 DATE함수를 사용하지 않으셔도 됩니다. 데이터 탭 > 텍스트 나누기를 통해서도 가능합니다.

순서만 작성해 보도록하겠습니다.

  1. 데이터탭  클릭
  2. 텍스트 나누기 클릭
  3. 텍스트 마법사 -3단계중 1단계 대화상자에서 다음 클릭
  4. 텍스트 마법사 -3단계중 2단계 대화상자에서 다음 클릭
  5. 텍스트 마법사 -3단계중 3단계 대화상자 열 데이터 서식에서 날짜 클릭후 마침 클릭

C7:C12번위 선택후 위의 순서로 변경하면 굳이 판매일(변환) 영역을 DATE 함수로 만들지 않아도 판매날짜가 날짜 서식으로 변경됩니다. 하지만 판매현황이 변경된다면 역시 함수로 자동화 하는 편이 편리합니다.

 

 

날짜함수(TODAY, DATE).xlsx
0.01MB

 

 

 

 

 

728x90