업무 활동을 기록하고 관리할 때 타임스탬프는 매우 유용한 도구입니다. 예를 들어 직원별 출근 시간을 추적하거나 일일 업무를 체계적으로 관리하려면 정확한 날짜와 시간 기록이 필요합니다. 이 튜토리얼에서는 엑셀에서 타임스탬프를 자동으로 입력하는 5가지 방법을 단계별로 소개합니다.
엑셀에서 타임스탬프 자동 입력하는 5가지 방법
이 글에서는 정적인 방법과 동적인 방법을 모두 포함하여 총 5가지 타임스탬프 자동 입력 방법을 다룹니다. 상황에 맞는 방법을 선택해 활용해 보세요.
1. 키보드 단축키로 타임스탬프 입력하기
키보드 단축키는 가장 빠르고 간편한 정적(static) 방식입니다. 별도의 수식이나 코드 없이 즉시 현재 날짜와 시간을 입력할 수 있습니다.
실행 단계:
- 먼저 타임스탬프를 입력할 셀 C5를 선택합니다.
- Ctrl + ; 키를 누르면 현재 날짜가 입력됩니다.
- 다음으로 셀 C6을 선택하고 Ctrl + Shift + : 키를 누르면 현재 시간이 표시됩니다.
- 마지막으로 셀 C7에서 (Ctrl + ;) + 스페이스바 + (Ctrl + Shift + :)를 순서대로 누르면 날짜와 시간이 함께 입력됩니다.

2. TODAY 및 NOW 함수로 타임스탬프 자동 입력하기
함수를 활용하는 것은 동적(dynamic) 방식으로, 워크시트를 열거나 재계산할 때마다 자동으로 최신 날짜와 시간으로 업데이트됩니다.
2.1 TODAY 함수 사용하기
TODAY 함수는 현재 날짜를 반환합니다.
실행 단계:
- 셀 C5를 선택하고 아래 수식을 입력한 후 Enter 키를 누릅니다.
=TODAY()
- 현재 날짜가 표시되면 셀 C5를 마우스 오른쪽 버튼으로 클릭하고 셀 서식(Format Cells)을 선택합니다.
- 표시 형식(Number) 탭에서 날짜(Date) 범주를 선택합니다.
- 원하는 날짜·시간 형식(예: '3-4-12 1:30 PM' 스타일)을 고른 뒤 미리 보기를 확인하고 확인(OK)을 클릭합니다.
- 완료하면 셀 C5에 현재 날짜와 시간이 함께 표시됩니다.

2.2 NOW 함수 사용하기
NOW 함수는 현재 날짜와 시간을 한 번에 반환하므로 타임스탬프 입력에 더 적합합니다.
실행 단계:
- 셀 C5에 아래 수식을 입력하고 Enter 키를 누릅니다.
=NOW()
- 셀 C5에 현재 날짜와 시간이 포함된 타임스탬프가 표시됩니다.

3. 이름 입력과 연동해 타임스탬프 자동 기록하기
직원들의 출근 시간을 매일 기록한다고 가정해 봅시다. 직원이 자신의 이름을 입력하면 옆 셀에 출입 날짜와 시간이 자동으로 기록되도록 설정할 수 있습니다. 이 방법은 IF 함수와 NOW 함수의 조합으로 구현합니다.
실행 단계:
- 셀 C5에 아래 수식을 입력하고 Enter 키를 누릅니다.
=IF(B5<>"",IF(C5="",NOW(),C5),"")
- 채우기 핸들(Fill Handle)을 셀 C5에서 C8까지 드래그해 수식을 적용합니다.
- 파일(File) 탭 → 옵션(Options)을 차례로 클릭합니다.
- Excel 옵션 대화상자에서 수식(Formulas) 항목을 선택합니다.
- 계산 옵션에서 '반복 계산 사용(Enable iterative calculation)'에 체크한 후 확인(OK)을 클릭합니다.
- 이제 셀 B5에 직원 이름을 입력하면 셀 C5에 날짜와 시간이 자동으로 기록됩니다.
- 나머지 셀에도 이름을 입력하면 아래 이미지처럼 각각의 타임스탬프가 표시됩니다.

🔎 수식 작동 원리:
- NOW(): 현재 날짜와 시간을 반환합니다.
- IF(C5="",NOW(),C5),""): C5 셀이 비어 있으면 NOW() 값(입력 시점의 타임스탬프)을 저장하고, 값이 있으면 기존 값을 그대로 유지합니다.
- IF(B5<>"",...): B5 셀에 값이 입력되었을 때만 위 로직을 실행합니다.
4. VBA 매크로로 타임스탬프 자동 입력하기
VBA에 익숙한 고급 사용자라면 Worksheet_Change 이벤트를 활용해 더 강력하게 구현할 수 있습니다. B열에 값을 입력하면 C열에 자동으로 타임스탬프가 기록됩니다.
실행 단계:
- 워크시트 탭에서 마우스 오른쪽 버튼을 클릭하고 코드 보기(View Code)를 선택합니다.
- 열린 VBA 코드 창에 아래 코드를 입력합니다.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim zInt As Integer
Dim zStr As String
Dim yzStr As String
On Error Resume Next
zStr = "B"
yzStr = "C"
If (Not Application.Intersect(Me.Range(zStr & ":" & zStr), Target) Is Nothing) Then
zInt = Target.Row
Me.Range(yzStr & zInt) = Format(Now(), "mm/dd/yyyy hh:mm:ss")
End If
End Sub
- F5 키를 누르거나 실행(Run) 버튼을 클릭해 매크로를 저장합니다.
- 이제 셀 B5에 직원 이름을 입력하면 셀 C5에 출입 시각이 자동으로 기록됩니다.
- 다른 셀에도 이름을 입력하면 각 행마다 해당 타임스탬프가 표시됩니다.

5. 사용자 지정 함수(VBA)로 타임스탬프 입력하기
VBA로 나만의 사용자 지정 함수를 만들어 워크시트 어디서든 타임스탬프를 호출할 수 있습니다. B열에 항목을 입력하면 C열에 해당 타임스탬프가 반환되는 구조입니다.
실행 단계:
- 개발 도구(Developer) 탭 → Visual Basic을 클릭해 VBA 편집기를 엽니다.
- 적용할 워크시트를 마우스 오른쪽 버튼으로 클릭한 후 삽입(Insert) > 모듈(Module)을 선택합니다.
- 새 모듈 창에 아래 코드를 입력합니다.
Function TIMESTAMP(Ref As Range)
If Ref.Value <> "" Then
TIMESTAMP = Format(Now, "dd-mm-yyyy hh:mm:ss")
Else
TIMESTAMP = ""
End If
End Function
- 저장(Save) 버튼을 클릭해 코드를 저장합니다.
- 셀 C5에 아래 수식을 입력하고 Enter 키를 누릅니다.
=TIMESTAMP(B5)
- 채우기 핸들을 셀 C5에서 C7까지 드래그합니다.
- 이제 B열에 이름을 입력할 때마다 C열에 자동으로 타임스탬프가 기록됩니다.

마무리
지금까지 엑셀에서 타임스탬프를 자동으로 입력하는 5가지 방법을 살펴보았습니다. 키보드 단축키부터 함수, 반복 계산 설정, VBA 매크로, 사용자 지정 함수까지 상황과 숙련도에 맞는 방법을 선택해 활용해 보세요. 궁금한 점이 있다면 댓글로 남겨 주시면 빠르게 답변해 드리겠습니다. 앞으로도 유용한 엑셀 활용 팁을 계속 소개할 예정입니다.
함께 읽으면 좋은 글
- 엑셀에서 고정 날짜 삽입하는 4가지 방법
- 엑셀에서 타임스탬프를 날짜로 변환하는 7가지 방법
- 엑셀에서 날짜에서 시간(타임스탬프) 제거하는 4가지 방법
- 웹 폼 데이터로 엑셀 스프레드시트 자동 채우기
- 드롭다운 목록이 있는 엑셀 데이터 입력 양식 만들기