본문 바로가기

엑셀/함수

엑셀 날짜 시간 함수 - Now, Today, WeekDay, Text

반응형

앞에서 VBA에서 날짜를 다루는 내장 함수들을 알아보았는데 엑셀에서 제공하는 함수 중에도 날짜와 시간 관련 함수들이 있는데 이 함수들에 대해서 알아보겠습니다. 이번 글에서는 Now, Today, WeekDay, Text 함수에 대해 알아보겠습니다.

 

VBA 내장 함수 - Date, Time, Now, DateSerial, DateValue

 

VBA 내장 함수 - Date, Time, Now, DateSerial, DateValue

이전 글에서 Val 함수와 Str 함수에 대해 알아보았습니다. 이번엔 시간과 날짜를 반환하는 함수에 대해 알아보겠습니다. VBA 내장 함수 - Val 함수, Str 함수 VBA 내장 함수 - Val 함수, Str 함수 이전 글

mr-johndoe.tistory.com

 

 

 

 

 

1. Now 함수

  Now 함수는 오늘 날짜와 현재 시간을 반환해주는 함수입니다. 따로 인수를 입력하지 않고 함수명에 ( )를 붙여서 사용합니다.

 

   = Now( )

 

2. Today 함수

  Today 함수는 오늘 날짜를 반환해 주는 함수입니다. Now 함수와 마찬가지로 따로 인수를 입력하지 않고 함수명에 ( )를 붙여서 사용합니다.

 

   = Today( )

 

엑셀에는 오늘 날짜와 시간을 입력하는 단축키도 제공됩니다.

오늘 날짜를 입력하는 단축키는 Ctrl + ; 입니다.

현재 시간을 입력하는 단축키는 Ctrl + Shift + ; 입니다. (시간과 분만 표시됨)

만약, 오늘 날짜와 현재 시간을 동시에 표시하고 싶을 때는 Ctrl + ;을 눌러 오늘 날짜를 입력하고 스페이스 키를 눌러 한 칸을 띄운 후에 Ctrl + Shift + ; 을 누르면 이어서 시간이 입력됩니다.

 

3. WeekDay 함수

  WeekDay 함수는 임의의 날짜의 요일을 확인하고 싶을 때 사용하는 함수입니다. WeekDay 함수는 구해진 요일을 일련번호로 반환하게 되는데 이는 Return Type에 따라 요일의 일련번호가 정해집니다. 사용 방법은 다음과 같습니다.

 

  WeekDay (Serial-number, Return Type)

 

Serial-number : 요일을 확인하고 싶은 날짜 입력

 

Return Type은 다음 표에 정리하였습니다.

Return Type 설 명
1 주를 일요일(1)에서 토요일(7)까지로 정하여 일련번호 반환
2 주를 월요일(1)에서 일요일(7)까지로 정하여 일련번호 반환
3 주를 월요일(0)에서 일요일(6)까지로 정하여 일련번호 반환

설명에서 ( ) 안의 값은 반환되는 일련번호를 의미합니다. 

Return Type이 1인 경우를 예로 들면 한 주의 시작을 일요일로 하여 토요일까지로 정하며, 일요일일 때는 1을, 월요일일 때는 2를, 화요일일 때는 3을,...,토요일일 때는 7을 반환합니다.

 

Return Type은 생략 가능하며, 기본값으로 1을 갖습니다.

 

 

 

 

4. Text 함수

  WeekDay 함수는 사용자가 원하는 요일을 한글이 아닌 일련번호로 반환하여 주기 때문에 이를 한글로 바꿔주는 행위가 필요합니다. 이때 사용할 수 있는 함수가 Text 함수입니다.

Text 함수는 날짜 뿐만아니라 숫자를 지정한 형식에 맞게 문자로 표시할 때 사용합니다.

사용 방법은 다음과 같습니다.

 

   =Text(Value, Format Text)

 

Value : 표시 형식을 지정하여 나타내려는 값

 

Format Text : 표시형식

 

여기서는 날짜의 요일을 한글로 표시하는 방법을 확인하는 것이므로 다음과 같은 값을 입력할 수 있습니다. 입력하실 때는 큰따옴표(" ")를 사용하셔야 합니다.

 

aaa - 요일을 '월', '화', '수', 목', '금', '토', '일'로 표시

aaaa - 요일을 '월요일', '화요일', '수요일', 목요일', '금요일', '토요일', '일요일'로 표시

ddd - 요일을 영어 약자로 표시 ('Sun', 'Mon', 'Tue', ..., 'Sat')

dddd - 요일을 영어로 표시 ('Sunday', 'Monday', 'Tuesday', ..., 'Saturday')

 

5. 예제로 확인

  엑셀을 여시고 B2 셀에 '=Today()'를 입력하시고 엔터를 치시면 오늘 날짜가 셀에 표시됩니다. 혹시 날짜가 아닌 숫자 등으로 표시된다면 엑셀 메뉴에서 표시형식을 날짜로 지정하셔야 합니다.

 

B3셀에는 '=Now()'를 입력하시면 셀에 오늘 날짜와 시간이 나타납니다.

 

 

 

 

 

참고로 말씀드리면 날짜가 아닌 현재 시간만을 표시하고 싶으시면 다음과 같이 수식을 작성합니다.

 

   =Now() - Today()

 

B4 셀에 위의 식을 입력하시고 엔터를 치시면 현재 시간이 나타납니다. 이때 셀의 표시 형식을 시간으로 지정해 놓으셔야 제대로 시간 표시가 됩니다.

 

이번엔 B2 셀에 나타난 오늘 날짜의 요일을 구하기 위해 C2 셀에 다음과 같이 입력합니다.

 

   = WEEKDAY(B2)

 

C2 셀에는 해당 요일에 해당하는 일련번호가 표시됩니다. 

이제 D2 셀에 한글로 표시하기 위해 Text 함수를 사용합니다.

 

   =text(C2,"aaaa")

 

D2 셀에 요일이 한글로 표시되는 것을 보실 수 있습니다. 위의 식에서 C2가 아닌 날짜가 입력되어 있는 B2 셀을 입력하셔도 같은 결과를 얻으실 수 있습니다.

 

만약, Text 함수를 사용하지 않는다면 If 함수나 Choose 함수를 사용할 수 있는데 둘 중 하나를 쓴다면 Choose 함수를 쓰는 것이 더 효율적입니다. Choose 함수를 다음과 같이 E2 셀에 입력합니다.

 

  =CHOOSE(C2,"일","월","화","수","목","금","토")

 

반응형