엑셀관련/함수사용

[엑셀/EXCEL]날짜, 시간을 다루는 함수 - 날짜편

22rodnjf 2021. 3. 30. 00:58

엑셀 작업을 하다 보면 시간과 날짜를 다뤄야 하는 일이 많이 있습니다.

다양한 양식으로 변환되어 있는 값들을 날짜, 시간 서식으로 바꿔야 하는 경우도 있고 그 반대의 경우도 많습니다.

숫자 양식인 데이터를 날짜로 변경하게 되는 경우는 WEEKNUM이나 WEEKDAY 같은 함수들과 같이 사용하거나, 날짜 자체를 이용해서 일자별 데이터를 만들어야 할 때입니다.

그만큼 사용성이 많은 날짜, 시간을 다루는 함수 및 몇 가지 팁을 알려드리겠습니다.


데이터는 달리기 시간을 예시로 들어서 만든 간단한 데이터입니다.

그럼 설명에 쓰일 함수를 설명드리겠습니다.

DATE 함수는 기존의 숫자를 날짜식으로 변경해주는 함수입니다.

YEAR 에는 년(2020, 2021 같은 정수형)을 넣어주면 되고, MONTH에는 1~12의 정수 값, DAY는 1~31의 정수 값을 넣으면 됩니다.

물론 꼭 그 값을 넣어야 하는 것만은 아닙니다. 그 부분은 뒤에서 설명하겠습니다.

 

1. LEFT, MID, RIGHT 함수를 이용하여 날짜 추출하기

1) 지은의 날짜 값 변경하기

예시에 나오듯 지은의 일자는 현재 정수 20210101로 되어 있습니다.

엑셀은 이 숫자를 단순한 20,210,101로 파악합니다. 그러다 보니 이를 날짜 값으로 변경해줄 필요가 있습니다.

이 부분은 단순하게 DATE함수만을 쓰는 것이 아닌 문자를 잘라내는 LEFT, MID, RIGHT 함수를 모두 사용할 수 있어야 합니다.

 

먼저 20210101의 데이터를 분류해야 합니다. 이 데이터는 2021/01/01의 형태로 년, 월, 일을 가지고 있는 것을 알 수 있습니다.

그럼 우선 저 형태가 되도록 함수를 사용하여 각각의 문자를 추출해야 합니다.

먼저 LEFT는 데이터를 왼쪽부터 지정한 범위까지 잘라내는 기능을 가지고 있습니다.

 

=LEFT(B4,4)

함수를 통해서 C13셀에 20210101 값을 왼쪽부터 4개 2021을 잘라서 가지고 왔습니다.

=MID(B4,5,2)

MID 함수는 LEFT 보다는 조금 복잡합니다. B4의 값의 5번째부터 2개의 값을 가지고 오도록 합니다.

=RIGHT(B4,2)

RIGHT 함수는 LEFT와 동일하지만 방향만 반대입니다. 왼쪽이 아닌 오른쪽에서 2개의 값을 가져오도록 했습니다.

이로서 DATE 함수에 사용하기 위한 숫자를 추출하는 작업은 끝났습니다.

이제 이 숫자를 사용하기만 하면 바로 날짜 값으로 변환할 수 있습니다.

=DATE(C13,C14,C15)

이 함수를 쓸 때마다 셀을 3개나 써야 한다는 단점은 있지만 값은 잘 나올 수 있습니다.

그럼 이제 이 함수를 하나의 셀에서 사용할 수 있도록 해보겠습니다.

DATE 함수 안에는 숫자형 값이 들어갈 수 있기 때문에 굳이 이렇게 함수를 따로 지정할 필요가 없습니다.

이렇게 모든 함수를 DATE 함수 안에 넣어서 바로 표현할 수 있습니다.


2. 숫자 값이 맞지 않을 때 문자열 붙여주기

그럼 다현과 지수는 어떻게 표현해야 할까요.

아까 만든 함수를 LEFT만 조금 수정해서 만 들 경 우 DATE 함수에 YEAR 위치에 들어가는 값이 21이 됩니다.

이렇게 될 경우 값이 자연스럽게 1921이 연도가 되게 됩니다.

이 경우 몇 가지 방법으로 해결할 수 있습니다.

1) 년에 2000을 더하기

현재 LEFT를 통해 데이터를 21만 가져온 상태기 때문에 2000을 더해주게 되면 년이 2000+21이 되면서 년이 정상적으로 나오게 됩니다.

2) 문자열 합치기를 이용하기

2021이라는 숫자가 완성되기만 하면 되기 때문에 문자열 합치기를 통해서 합쳐줄 수 있습니다.

&키를 이용하면 두 개의 문자를 합쳐줄 수 있습니다.

3) CONCAT 함수를 이용하여 합치기

문자열 합치기와 똑같은 기능을 하는 함수는 CONCAT 함수가 있습니다.

버전에 따라서는 CONCATENATE라고 하는 함수를 사용할 수도 있는데 기능은 동일합니다.

함수의 안에 있는 텍스트를 모두 붙여 하나의 텍스트로 만들어 주는 기능을 합니다.


날짜를 다루는 함수에 대한 설명을 하다 보니 날짜에 대한 설명보다는 텍스트 합치기, 나누기에 대한 내용이 더 길어졌습니다.

실제로 날짜를 다루는 함수 자체는 간단하나 그 양식에 맞는 값을 넣기 위해 값을 정리하는 것이 시간이 걸립니다.

다음에는 시간 함수를 다루는 방법을 설명드리도록 하겠습니다.