왜 날짜가 숫자로 보이는가
엑셀은 날짜를 내부적으로 1900년 1월 1일을 1로 시작하는 일련번호로 저장한다. 셀 서식이 '날짜'로 지정되어 있으면 이 숫자를 사람이 읽는 형식(2024-01-01 등)으로 바꿔 보여주지만, 서식이 '일반'이나 '숫자'로 바뀌면 원래 숫자값이 그대로 노출된다.
즉 데이터 자체가 손상된 게 아니라 '보여주는 방식'만 바뀐 것이다. 대부분의 경우 값은 그대로 남아 있으므로 서식만 다시 지정하면 원래 날짜가 복원된다.
원인 1: 셀 서식이 일반/숫자로 바뀐 경우 (가장 흔함)
- 해당 셀(또는 범위)을 선택 → Ctrl+1(셀 서식) → '날짜' 범주 선택 → 원하는 표시 형식 선택 → 확인
- 또는 홈 탭 리본의 표시 형식 드롭다운(기본값이 '일반'으로 보이는 상자)에서 '간단한 날짜' 또는 '자세한 날짜'를 바로 선택해도 된다.
여러 셀에 한꺼번에 적용하려면 범위를 드래그해서 선택한 뒤 같은 방법을 적용하면 모두 한 번에 바뀐다.
원인 2: CSV·텍스트 파일 등 외부에서 데이터를 가져왔을 때
CSV나 텍스트 파일을 열거나 다른 프로그램에서 복사해 붙여넣으면 날짜가 텍스트나 숫자로 잘못 인식되는 경우가 많다. 이 경우 단순히 셀 서식을 날짜로 바꿔도 해결되지 않을 수 있으므로, 먼저 원본 값이 진짜 숫자(일련번호)인지 진짜 텍스트(문자열)인지 확인해야 한다.
셀을 선택했을 때 값이 오른쪽 정렬이면 숫자/일련번호로 인식된 것이고, 왼쪽 정렬이면 텍스트로 인식된 것이다.
- 일련번호로 인식된 경우: Ctrl+1로 날짜 서식만 지정하면 해결된다.
- 텍스트로 인식된 경우: 데이터 탭의 '텍스트 나누기(마법사)' 기능을 써서 해당 열을 날짜 형식으로 다시 가져오거나, 빈 열에 =DATEVALUE(A1) 로 일련번호를 구한 뒤 그 결과 셀에 날짜 서식을 지정한다.
원인 3: 함수 결과(날짜 계산, VLOOKUP 등)가 숫자로 나오는 경우
=A1-B1처럼 두 날짜를 빼거나 =TODAY(), =DATE()를 쓰거나, VLOOKUP/INDEX로 다른 셀의 날짜 값을 가져오는 수식을 쓰면 결과가 표시되는 셀의 서식이 '일반'으로 남아있어 숫자로 보이는 경우가 흔하다.
해결: 수식이 들어간 셀을 선택 → Ctrl+1 → '날짜' 서식 지정. 수식 자체는 건드릴 필요 없다.
화면에 보여줄 텍스트만 필요하다면 =TEXT(A1,"yyyy-mm-dd") 같은 함수로 별도 셀에 문자열로 변환할 수도 있다. 다만 이 결과는 문자열이라 정렬이나 날짜 뺄셈 같은 계산에는 다시 쓸 수 없다는 점을 주의해야 한다.
서식을 바꿔도 계속 숫자로 보일 때 체크할 것
셀 서식에서 '날짜'를 선택했는데도 안 바뀐다면, 원본 값이 숫자가 아니라 텍스트로 저장돼 있을 가능성이 높다. 셀을 두 번 클릭해 편집 모드로 들어가 값 그대로인지, 앞뒤에 공백이나 특수문자가 섞여 있는지 확인한다.
셀 서식 대화상자의 '사용자 지정' 범주에 이상한 형식 코드가 남아있는 경우도 있다. 이 경우 형식 코드를 지우고 '날짜' 범주에서 다시 선택한다.
여러 시트나 파일에서 반복적으로 이 문제가 생긴다면, 데이터를 가져오는 원본(다른 프로그램, 데이터베이스 내보내기 등)에서 날짜가 어떤 형식으로 저장되는지 먼저 확인하는 것이 근본적인 해결에 가깝다.