[Google Sheets] 구글 스프레드시트 날짜함수 사용하기 - ISDATE

구글 스프레드시트의 ISDATE 함수는 특정 값이 유효한 날짜 형식인지 여부를 확인하는 논리 함수입니다. 이 함수는 데이터 검증, 조건부 서식, 데이터 정리 작업에서 매우 유용한 도구로 활용됩니다. 텍스트로 입력된 값이나 셀 참조가 …
[Google Sheets] 구글 스프레드시트 날짜함수 사용하기 - ISDATE

[Google Sheets] 구글 스프레드시트 날짜함수 사용하기 - EPOCHTODATE

EPOCHTODATE함수썸네일


시간을 다루는 작업은 데이터 분석에서 매우 중요한 부분입니다. 특히 컴퓨터 시스템에서 널리 사용되는 Unix 타임스탬프 데이터를 다룰 때, 이를 사람이 읽을 수 있는 날짜와 시간 형식으로 변환해야 하는 경우가 많습니다. 구글 스프레드시트의 EPOCHTODATE 함수는 이러한 작업을 간편하게 해결해 주는 강력한 도구입니다. 이 포스팅에서는 EPOCHTODATE 함수의 기본 개념부터 활용법까지 알아보겠습니다.

1. EPOCHTODATE 함수 소개

EPOCHTODATE 함수는 Unix 에포크 시간(Unix Epoch Time)을 사람이 읽을 수 있는 날짜와 시간 형식으로 변환해 주는 구글 스프레드시트의 변환 함수입니다. Unix 에포크 시간이란 1970년 1월 1일 00:00:00 UTC(협정 세계시)를 기준으로 경과한 시간을 초, 밀리초 또는 마이크로초 단위로 표현한 값입니다.

이 함수는 웹 서비스의 API 응답 데이터, 데이터베이스 기록, 로그 파일 등에서 자주 사용되는 타임스탬프 형식을 스프레드시트에서 쉽게 분석할 수 있도록 도와줍니다. 특히 프로그래밍 작업이나 시스템 로그 분석, 이벤트 추적 등을 위한 데이터 처리에 매우 유용합니다.

알아두세요
EPOCHTODATE 함수의 결과값은 항상 UTC(협정 세계시) 기준으로 표시됩니다. 로컬 시간대로 변환하려면 추가적인 처리가 필요합니다.

2. EPOCHTODATE 함수 기본 형태

EPOCHTODATE 함수의 기본 형태는 다음과 같습니다:

=EPOCHTODATE(타임스탬프, [단위])

여기서 '타임스탬프'는 변환하고자 하는 Unix 에포크 시간값이며, '단위'는 해당 타임스탬프가 어떤 시간 단위로 표현되었는지를 지정하는 선택적 매개변수입니다.

3. 매개변수(파라미터) 설명

EPOCHTODATE 함수에서 사용되는 매개변수들은 다음과 같습니다:

매개변수 필수/선택 데이터 타입 설명
타임스탬프 필수 숫자 Unix 에포크 타임스탬프 값. 초, 밀리초 또는 마이크로초 단위로 표현된 1970년 1월 1일 00:00:00 UTC 이후 경과한 시간.
단위 선택 숫자 타임스탬프가 표시되는 시간 단위.
1: 초 단위 (기본값)
2: 밀리초 단위
3: 마이크로초 단위

타임스탬프 값의 자릿수를 보면 어떤 단위인지 대략적으로 추측할 수 있습니다:
- 10자리 숫자: 보통 초 단위 (예: 1655906710)
- 13자리 숫자: 보통 밀리초 단위 (예: 1655908429662)
- 16자리 숫자: 보통 마이크로초 단위 (예: 1655908429662000)

4. 실습용 샘플 데이터

EPOCHTODATE 함수의 활용법을 쉽게 이해하기 위해 아래와 같은 샘플 데이터를 준비했습니다. 이 데이터는 다양한 웹 서비스의 이벤트 로그에서 추출한 타임스탬프 정보를 포함하고 있습니다. 버튼을 클릭하여 함수의 샘플 데이터가 포함된 구글 스프레드시트가 열리면 사본 저장으로 사용하시기 바랍니다.

이벤트 ID 이벤트 유형 타임스탬프 (초) 타임스탬프 (밀리초) 타임스탬프 (마이크로초) 사용자 ID
LOG001 로그인 1652347200 1652347200000 1652347200000000 user_a@example.com
LOG002 페이지 조회 1652350800 1652350800000 1652350800000000 user_b@example.com
LOG003 파일 다운로드 1652354400 1652354400000 1652354400000000 user_c@example.com
LOG004 결제 완료 1652358000 1652358000000 1652358000000000 user_d@example.com
LOG005 로그아웃 1652361600 1652361600000 1652361600000000 user_e@example.com
LOG006 API 호출 1652365200 1652365200000 1652365200000000 user_f@example.com

5. 기본 사용 예시

EPOCHTODATE 함수의 기본적인 사용법을 알아보겠습니다. 우리가 준비한 샘플 데이터를 활용하여 다양한 방식으로 Unix 타임스탬프를 날짜와 시간으로 변환해 보겠습니다.

예시 1: 초 단위 타임스탬프 변환

첫 번째 이벤트 로그의 초 단위 타임스탬프를 날짜와 시간으로 변환해 보겠습니다.

=EPOCHTODATE(1652347200, 1)

결과값: 2022. 5. 12 오전 9:20:00

여기서 첫 번째 매개변수 1652347200는 Unix 에포크 시간(초 단위)이며, 두 번째 매개변수 1은 해당 시간이 초 단위로 표현되었음을 의미합니다. 두 번째 매개변수 1은 기본값이므로 생략할 수도 있습니다.

기본사용예시1실행결과
기본 사용 예시1 실행 결과

예시 2: 밀리초 단위 타임스탬프 변환

두 번째 이벤트 로그의 밀리초 단위 타임스탬프를 변환해 보겠습니다.

=EPOCHTODATE(1652350800000, 2)

결과값: 2022. 5. 12 오전 10:20:00

밀리초 단위의 타임스탬프를 변환할 때는 두 번째 매개변수에 2를 입력해야 합니다. 이렇게 하면 함수는 입력된 숫자를 밀리초 단위의 타임스탬프로 인식하고 적절하게 변환합니다.

기본사용예시2실행결과
기본 사용 예시2 실행 결과

예시 3: 마이크로초 단위 타임스탬프 변환

세 번째 이벤트 로그의 마이크로초 단위 타임스탬프를 변환해 보겠습니다.

=EPOCHTODATE(1652354400000000, 3)

결과값: 2022. 5. 12 오전 11:20:00

마이크로초 단위의 타임스탬프는 두 번째 매개변수에 3을 지정하여 변환할 수 있습니다. 마이크로초는 초의 백만분의 1을 나타내는 매우 작은 시간 단위입니다.

기본사용예시3실행결과
기본 사용 예시3 실행 결과

예시 4: 셀 참조를 사용한 변환

셀 참조를 활용하여 타임스탬프 값을 변환할 수도 있습니다. 샘플 데이터에서 타임스탬프 값이 C2 셀에 있고, 단위 정보가 없다고 가정해 보겠습니다.

=EPOCHTODATE(C2)

결과값: 2022. 5. 12 오전 9:20:00 (C2 셀에 1652347200이 있다고 가정)

이 예시에서는 단위 매개변수를 생략했으므로 기본값인 초 단위로 처리됩니다. 셀 참조를 사용하면 많은 양의 타임스탬프 데이터를 쉽게 변환할 수 있습니다.

기본사용예시4실행결과
기본 사용 예시4 실행 결과

6. 고급 사용 예시

이제 EPOCHTODATE 함수를 활용한 좀 더 복잡하고 실용적인 예시들을 살펴보겠습니다.

예시 : 활동 시간 로그 분석

여러 사용자의 활동 시간을 분석해야 하는 상황을 가정해 보겠습니다. 각 활동 이벤트의 발생 시간을 날짜와 시간으로 변환하고, 해당 날짜의 요일까지 확인해 보겠습니다.

=ARRAYFORMULA( IF( ROW(C2:C7)=1, "이벤트 발생일시", TEXT(EPOCHTODATE(C2:C7, 1), "yyyy-MM-dd HH:mm:ss") & " (" & TEXT(EPOCHTODATE(C2:C7, 1), "ddd") & ")" ) )

이 공식은 C2:C7 범위의 초 단위 타임스탬프를 날짜와 시간으로 변환하고, 괄호 안에 요일 정보를 추가합니다. ARRAYFORMULA를 사용하여 여러 셀에 대해 한 번에 계산을 수행하며, IF 함수로 첫 번째 행에는 헤더를 표시합니다.

결과값의 예:

  • 2022-05-12 09:20:00 (목)
  • 2022-05-12 10:20:00 (목)
  • 2022-05-12 11:20:00 (목)
  • ...
고급사용예시실행결과
고급 사용 예시 실행 결과

7. 주의사항

EPOCHTODATE 함수를 사용할 때 다음과 같은 주의사항을 염두에 두세요:

주의
1. EPOCHTODATE 함수는 결과값을 항상 UTC(협정 세계시) 기준으로 반환합니다. 로컬 시간대로 변환하려면 추가 작업이 필요합니다.
2. 음수 타임스탬프는 사용할 수 없습니다. 1970년 1월 1일 00:00:00 UTC 이전 시점은 변환할 수 없습니다.
3. 다른 함수들과 달리, EPOCHTODATE는 밀리초의 소수 부분을 잘라내고 정수 부분만 사용합니다.

UTC와 로컬 시간대 변환

EPOCHTODATE 함수의 결과는 항상 UTC 기준이므로, 로컬 시간대로 변환하려면 스프레드시트의 타임존 설정을 활용하거나 다음과 같은 방법을 사용할 수 있습니다:

=EPOCHTODATE(1652347200, 1) + TIME(9, 0, 0)

위 예시는 UTC 시간에 9시간을 더하여 한국 표준시(KST)로 변환합니다. 결과값은 2022. 05. 12 오후 6:20:00가 될 것입니다.

UTC와로컬시간대변환실행결과
UTC와 로컬 시간대 변환 실행결과

자릿수와 단위 불일치 오류

타임스탬프의 자릿수와 단위 매개변수가 일치하지 않으면 잘못된 결과가 나올 수 있습니다.

=EPOCHTODATE(1652347200000, 1) // 잘못된 단위 지정

위 예시에서 타임스탬프는 밀리초 단위(13자리)이지만, 단위 매개변수는 초 단위(1)로 지정되었습니다. 이 경우 함수는 해당 값을 초로 해석하여 잘못된 날짜를 반환하게 됩니다. 예시를 실행하면 년도가 54330년으로 계산이 됩니다.

항상 타임스탬프의 자릿수를 확인하고 적절한 단위 매개변수를 사용하세요:

  • 10자리 숫자 → 단위 매개변수 1 (초)
  • 13자리 숫자 → 단위 매개변수 2 (밀리초)
  • 16자리 숫자 → 단위 매개변수 3 (마이크로초)
자릿수단위불일치실행결과
자릿수와 단위 불일치 오류 실행결과

날짜 형식 지정

EPOCHTODATE 함수의 결과값은 날짜 및 시간 형식으로 표시됩니다. 원하는 형식으로 출력하려면 TEXT 함수와 함께 사용하세요:

=TEXT(EPOCHTODATE(1652347200, 1), "yyyy년 MM월 dd일 HH시 mm분 ss초")

결과값: 2022년 05월 12일 09시 20분 00초

날짜형식지정실행결과
날짜 형식 지정 실행 결과

지금까지 구글 스프레드시트의 EPOCHTODATE 함수에 대해 알아보았습니다. 이 함수는 Unix 에포크 타임스탬프를 사람이 읽을 수 있는 날짜와 시간 형식으로 쉽게 변환할 수 있게 해주는 강력한 도구입니다. 초, 밀리초, 마이크로초 단위의 타임스탬프를 모두 처리할 수 있으며, 다양한 데이터 분석 작업에 활용할 수 있습니다.

특히 웹 서비스의 로그 데이터, API 응답, 센서 데이터 등 다양한 형태의 타임스탬프를 처리해야 하는 업무에서 유용하게 사용할 수 있습니다. 다만, 결과값이 항상 UTC 기준으로 반환된다는 점과 자릿수에 따른 적절한 단위 매개변수를 지정해야 한다는 점을 주의하세요.