728x90

목차

 

 

단순 숫자를 서식에 따라서 표현할 수 있게 하는 것은 엑셀의 가장 중요한 기능 중 하나입니다.

그 중 날짜는 우리가 데이터를 구별하고 정리하는데 가장 중요한 요소 중 하나입니다.

셀서식의 날짜나 매뉴에 표시형식이 있지만 자동으로 날짜서식으로 변환되기도합니다.

자동으로 넣는것이 가장 유용한데 "2/3"이라고 입력하면 자동으로 (올해) 2월 3일이라고 변환됩니다.

 

아래처럼 셀서식을 이용하거나 매뉴의 보기형식을 변경할 수도 있습니다.

 

<셀서식> - <매뉴 보기형식> - <자동고침옵션>

 

 

 

 

 

1. 날짜 서식

 

엑셀은 숫자 "1"을 1900년 1월 1일로 해서 "2958465"를 9999년 12월 31일까지 날짜 서식을 통해 지원합니다.

강제로 이전이나 이후를 표기하는 건 가능하지만 기간이 넘어가면 날짜 서식을 지원하지는 않습니다.

예를 들어, 숫자 45000이 날짜가 되면 2023년 03월 15일이 됩니다.

그럼 년도(YEAR) 2023, 월(MONTH) 03, 일(DAY) 15이라는 속성을 가지게 되고 함수를 이용해서 속성들을 따로 표기하거나 연산하는 등의 제어를 할 수 있습니다.

윤년과 연도를 포함하여 달력이 잘 반영되어 있습니다.

그래서 날짜 서식에 사칙연산도 적용됩니다.(곱셈과 나눗셈은 위험하고 더하고 빼기만 사용하겠습니다.)

 

날짜 수식 결과 비고
2023-03-14 =B2+600 2024-11-03 600일이 지난 날
2023-03-14 =B3-600 2021-07-22 600일 전 날
2023-03-14 =B4+7*52 2024-03-12 52주 지난날

 

320x100

 

 

 

 

 

2. 날짜 서식 함수

 

TODAY() : 오늘 날짜를 출력합니다. 이 함수는 인수가 없습니다. ()안이 비어있어야 합니다.

시스템 상의 오늘날짜가 출력됨으로 엑셀파일을 내일 다시 열면 갱신되어 있습니다.

매일매일 작성하는 엑셀문서에서 사용할 수 있습니다.

 

DATE(year,month,day) : 숫자들을 날짜 서식의 날짜로 반환합니다.

 

  • =DATE(2021,10,17) → 2021년 10월 17일이 됩니다.
  • 연도(year) : 네 자리 숫자로 이루어진 것이 좋습니다. 8이라고 입력하면 엑셀 버전에 따라 1908이나 2008이 될 수 있습니다. "2000+숫자"로 입력하는 것도 좋습니다.
  • 월(month) : 1~12월을 입력합니다. 넘는 수를 넣으면 다음해로 넘어갑니다. 예를 들어 14를 넣으면 12+2로 연도가 넘어갑니다. date(21,14,08) = 22년 2월 8일이 됩니다. 0을 입력하면 작년 12월로 넘어갑니다.(음수는 더 전으로 계산합니다.)
  • 일(day) : 1~31을 입력합니다. 해당 월의 마지막날을 넘어가면 다음달로 알아서 계산합니다. 0을 입력하면 지난달의 마지막날이 출력됩니다.(음수는 더 전으로 돌아갑니다.)

 

그 외에 날짜 서식에서 필요한 숫자만 얻을 수 있는 함수입니다.

 

YEAR(serial_number) : 날짜 서식에서 연도만 반환합니다.

MONTH(serial_number) : 날짜 서식에서 월만 반환합니다.

DAY(serial_number) : 날짜 서식에서 일자만 반환합니다.

 

 

 

 

 

 

 

반응형
728x90

엑셀을 여러가지 서식을 지원합니다.

년도와 월 일로 이루어진 날짜 서식은 주차를 컨트롤 할 수 있는 함수를 제공합니다.

 

1. 주차(Week) 세는 법

 

한해는 1주부터 51~2주로 이루어 져있습니다. 각 주차를 세는 방법을 보는 함수 먼저 설명하겠습니다. 

 

ISOWeeknum(DateTime) :  ISO 8601 날짜 및 시간 표준 정의에 따라서 날짜의 주차 번호를 지정합니다.

기본적으로 두 함수는 같은데 ISOWeeknum는 처음 목요일이 포함된 주차를 1주차로 칩니다.

그래서 1월 1일은 작년도 마지막 주차가 될 수 있습니다.

22년도를 예로 들겠습니다.

 

 

 

WeekNum(DateTime [, StartOfWeek ]) : 주차 수를 반환합니다.

1월 1일이 포함된 주를 연도의 첫 번째 주로 사용합니다. 

요일에 상관없이 12월 31일은 마지막주, 1월 1일은 올해 첫째주입니다.

  • DateTime - 필수 항목입니다. 연산을 수행할 날짜/시간 값입니다.
  • [StartOfWeek] - 선택 사항입니다. 주의 시작 요일을 Excel 코드 또는 StartOfWeek 열거로 입력할 수 있습니다.
코드 StartOfWeek 열거형 설명
1, 17 StartOfWeek.Sunday 주는 일요일에 시작합니다. 기본값. (일요일 ~ 토요일)
2, 11 StartOfWeek.Monday 주가 월요일에 시작합니다. (월요일 ~ 일요일)
12 StartOfWeek.Tuesday 주가 화요일에 시작합니다. (화요일 ~ 월요일)
13 StartOfWeek.Wednesday 주가 수요일에 시작합니다. (수요일 ~ 화요일)
14 StartOfWeek.Thursday 주가 목요일에 시작합니다. (목요일 ~ 수요일)
15 StartOfWeek.Friday 주가 금요일에 시작합니다. (금요일 ~ 목요일)
16 StartOfWeek.Saturday 주가 토요일에 시작합니다. (토요일 ~ 금요일)

 

WEEKDAY(serial_number,[return_type]) : 날짜에 해당하는 요일을 반환합니다. 기본값은 1(일요일)에서 7(토요일) 사이의 정수로 표시됩니다.

  • serial_number : 입력할 날짜로 날짜 형식이여야 합니다.
  • [return_type] : 선택 요소입니다. 반환 값 유형을 결정하는 숫자입니다.
return_type
반환되는 수 예시
1(기본값)
1(일요일)에서 7(토요일) 사이의 숫자 
일 월 화 수 목 금 토 (1 ~ 7)
2 1(월요일)에서 7(일요일) 사이의 숫자 월 화 수 목 금 토 일 (1 ~ 7)
3 0(월요일)에서 6(일요일) 사이의 숫자 월 화 수 목 금 토 일 (0 ~ 6)
11 1(월요일)에서 7(일요일) 사이의 숫자 월 화 수 목 금 토 일 (1 ~ 7)
12 1(화요일)에서 7(월요일) 사이의 숫자 화 수 목 금 토 일 월 (1 ~ 7)
13 1(수요일)에서 7(화요일) 사이의 숫자 수 목 금 토 일 월 화 (1 ~ 7)
14 1(목요일)에서 7(수요일) 사이의 숫자 목 금 토 일 월 화 수 (1 ~ 7)
15 1(금요일)에서 7(목요일) 사이의 숫자 금 토 일 월 화 수 목(1 ~ 7)
16 1(토요일)에서 7(금요일) 사이의 숫자 토 일 월 화 수 목 금(1 ~ 7)
17 1(일요일)에서 7(토요일) 사이의 숫자 일 월 화 수 목 금 토(1 ~ 7)

 

320x100

 

2. 일자사이의 요일을 세는 함수

시작일과 마지막일 사이에 "??"요일이 몇개 있는지 세는 함수입니다.

계산을 위해 월요일(1) ~ 일요일(7)로 잡겠습니다.

=(WEEKNUM(마지막)-WEEKNUM(시작)-1)+IF(WEEKDAY(마지막,2)<=요일,1,0)+IF(WEEKDAY(시작,2)>=요일,1,0)

<설명>

일주일에 요일이 하나씩 있으니 (WEEKNUM(마지막)-WEEKNUM(시작)-1) 는 첫주와 마지막주를 뺀 주차의 수가 됩니다.

그리고 시작주와 마지막주에 요일이 포함되면 더하는지를 알기 위해 

IF(WEEKDAY(마지막,2)<=요일,1,0)+IF(WEEKDAY(시작,2)>=요일,1,0)가 포함됩니다.

반응형

+ Recent posts