Ver5.0 엑셀에서 날짜가 숫자로 보이는 이유 🗓️➡️🔢"45292"는 버그가 아니라, 엑셀의 진짜 얼굴이다

엑셀에서 날짜가 숫자로 보이는 이유 🗓️➡️🔢
"45292"는 버그가 아니라, 엑셀의 진짜 얼굴이다
분명히 2024-01-01이라고 입력했는데, 어느 날 셀에 45292라는 정체불명의 숫자가 떡하니 앉아 있다면? 😳
파일이 깨진 것도, 엑셀이 고장 난 것도 아닙니다. 오히려 엑셀이 날짜를 원래 저장하던 모습 그대로 보여준 것뿐이에요. 오늘은 이 "날짜의 민낯"이 어디서 왔는지, 왜 그렇게 설계됐는지, 그리고 실무에서 어떻게 다뤄야 하는지까지 끝까지 파헤쳐 봅니다.
🔍 1. 결론부터: 엑셀에게 날짜는 "숫자에 입힌 옷"이다
엑셀의 셀에는 크게 두 겹의 층이 있습니다. 하나는 실제로 저장된 값(Value), 다른 하나는 그 값을 사람 눈에 어떻게 보여줄지 정하는 표시 형식(Number Format)이에요.
날짜는 이 구조를 가장 극적으로 보여주는 사례입니다. 엑셀은 날짜를 내부적으로 "기준일로부터 며칠째인가"를 나타내는 정수로 저장하고, 여기에 "yyyy-mm-dd" 같은 날짜 서식을 입혀서 우리에게 보여줍니다. 이 정수를 날짜 일련번호(Serial Number)라고 부릅니다.
그러니 날짜가 갑자기 숫자로 보인다는 건, 어떤 이유로 서식이라는 옷이 벗겨지고 원래 몸이 드러난 상태라는 뜻이에요. 데이터 자체는 단 1도 바뀌지 않았습니다. 다시 옷만 입혀 주면 원래대로 돌아오죠.
엑셀이 계산에 쓰는 진짜 데이터. 수식 입력줄이나 일반 서식에서 확인할 수 있습니다.
같은 45292를 "2024-01-01", "1월 1일", "월요일"처럼 다양하게 보여줍니다.
값 + 서식이 합쳐져 우리가 보는 최종 모습. 서식이 사라지면 숫자가 드러납니다.
📅 2. 숫자 1은 언제일까? — 1900 날짜 체계의 탄생
Windows용 엑셀의 기본 체계인 1900 날짜 체계에서는 1900년 1월 1일 = 1입니다. 그다음 날인 1900년 1월 2일은 2, 이렇게 하루에 1씩 올라갑니다. 그래서 2024년 1월 1일은 45292번째 날이 되는 거죠.
몇 가지 대표적인 날짜와 일련번호를 보면 감이 확 옵니다. 아래 값들은 실제 엑셀에서 일반 서식으로 바꿔 확인할 수 있는 값입니다.
| 날짜 | 일련번호 (1900 체계) | 메모 |
|---|---|---|
| 1900-01-01 | 1 | 1900 체계의 출발점 |
| 1900-02-28 | 59 | 실제 존재하는 날 |
| 1900-02-29 | 60 | ⚠️ 실제로는 존재하지 않는 날 (뒤에서 설명) |
| 1900-03-01 | 61 | 이 날부터 요일 계산이 정확해짐 |
| 1999-12-31 | 36525 | 20세기의 마지막 날 |
| 2000-01-01 | 36526 | Y2K 그날 |
| 2023-01-01 | 44927 | — |
| 2024-01-01 | 45292 | 2023년은 365일 → 44927 + 365 |
| 2025-01-01 | 45658 | 2024년은 윤년(366일) → 45292 + 366 |
| 9999-12-31 | 2958465 | 엑셀이 표현할 수 있는 마지막 날짜 |
왜 하필 "숫자"로 저장했을까?
이유는 아주 실용적입니다. 날짜를 숫자로 두면 계산이 공짜가 되거든요.
그냥 뺄셈 한 번이면 "며칠 차이"가 나옵니다.
30일 뒤 날짜가 바로 계산됩니다. 마감일, 유통기한 계산의 기본기죠.
오름차순 정렬만 하면 시간순 정렬이 끝납니다.
만약 날짜를 "2024년 1월 1일"이라는 글자로 저장했다면, 엑셀은 매번 이 글자를 해석해 월마다 다른 일수, 윤년 규칙을 따져야 했을 겁니다. 숫자로 바꿔 두면 이런 복잡함이 저장 단계에서 한 번에 정리되고, 이후 모든 계산은 덧셈·뺄셈으로 끝납니다. 이것이 엑셀이 날짜를 숫자로 다루는 근본적인 설계 철학입니다.
🐞 3. 존재하지 않는 날, 1900년 2월 29일의 미스터리
위 표에서 눈치채셨나요? 일련번호 60은 1900년 2월 29일입니다. 그런데 그레고리력에서 1900년은 윤년이 아닙니다. 윤년 규칙은 "4로 나누어떨어지면 윤년, 단 100으로 나누어떨어지면 평년, 단 400으로 나누어떨어지면 다시 윤년"이라서, 1900년은 100의 배수이지만 400의 배수가 아니므로 평년이에요.
그럼에도 엑셀은 1900년 2월 29일을 존재하는 날짜로 취급합니다. 마이크로소프트는 공식 문서에서 이 동작이 Lotus 1-2-3과의 호환성을 위해 의도적으로 유지된 것이라고 설명합니다. 엑셀이 처음 시장에 나왔을 때 스프레드시트의 표준은 Lotus 1-2-3이었고, Lotus는 1900년을 윤년으로 처리하고 있었어요. 기존 Lotus 파일을 엑셀로 옮겼을 때 날짜가 하루씩 어긋나지 않게 하려면, 엑셀도 같은 "실수"를 그대로 따라야 했던 겁니다.
하지만 1900년 3월 1일 이후 날짜끼리의 계산은 모두 정상입니다. 현대의 업무 데이터에서는 사실상 영향이 없다는 뜻이죠. 지금 이 버그를 고치면 기존에 만들어진 수많은 문서의 일련번호가 하루씩 밀리기 때문에, 오히려 수정하는 쪽의 피해가 훨씬 큽니다.
이 사연은 소프트웨어 세계에서 자주 인용되는 "호환성이 정확성을 이긴" 대표 사례입니다. 하나의 결정이 수십 년 동안 유지되면, 그 결정 자체가 표준이 되어 버리는 거죠. 그리고 이 흔적은 뒤에서 볼 파이썬·구글 시트와의 변환에서 다시 등장합니다. 😉
🍎 4. 또 하나의 기준점: 1904 날짜 체계
엑셀에는 사실 날짜 체계가 두 개 있습니다. 하나는 앞서 본 1900 날짜 체계, 다른 하나는 1904 날짜 체계입니다. 1904 체계에서는 1904년 1월 1일이 일련번호 0이고, 1904년 1월 2일이 1입니다.
1904 체계는 초기 Macintosh 환경에서 쓰였습니다. 1904년을 기준으로 잡으면 1900년이 윤년인지 아닌지 고민할 필요가 없어지기 때문이에요(1904년은 실제 윤년이고, 그 이후 첫 번째 "100의 배수 평년"은 2100년입니다). 마이크로소프트 문서에 따르면 Excel 2008 for Mac 이하 버전에서 만든 통합 문서는 기본이 1904 체계였고, Excel 2011 for Mac부터는 Windows와 같은 1900 체계가 기본입니다.
두 체계의 일련번호 차이는 1,462일입니다(4년 + 1일). 1900 체계의 45292(2024-01-01)는 1904 체계에서 45292 − 1462 = 43830이 됩니다.
확인 위치: 파일 → 옵션 → 고급 → "이 통합 문서를 계산할 때" → "1904 날짜 체계 사용" 체크 여부.
주의할 점은, 이미 날짜가 들어 있는 문서에서 이 옵션을 바꾸면 기존 날짜가 모두 4년 1일씩 이동한다는 것입니다. 옵션을 바꾸기보다는 차이 1462를 더하거나 빼서 보정하는 편이 안전합니다.
⏰ 5. 시간은 소수점이다 — 하루를 1로 보는 세계
날짜가 정수라면, 시간은 어디에 저장될까요? 정답은 소수점 아래입니다. 엑셀에서 하루는 1이고, 시간은 하루 중 몇 분의 몇이 지났는지를 나타내는 분수예요.
| 시간 단위 | 엑셀 내부 값 | 계산 근거 |
|---|---|---|
| 1일 | 1 | 기준 단위 |
| 1시간 | 약 0.0416667 | 1 ÷ 24 |
| 1분 | 약 0.000694444 | 1 ÷ 1,440 |
| 1초 | 약 0.0000115741 | 1 ÷ 86,400 |
| 오전 9:30 | 0.3958333… | 9.5 ÷ 24 |
그래서 "날짜+시간"이 함께 들어간 셀은 정수부 = 날짜, 소수부 = 시간인 하나의 실수입니다. 이 구조를 알면 두 가지가 쉽게 분리돼요.
=INT(A1) → 날짜 부분만 (예: 45292)
=MOD(A1,1) → 시간 부분만 (예: 0.5 → 12:00)
=A1*24 → 시간을 '시간 단위 숫자'로 (예: 0.5 → 12)
=A1*1440 → 분 단위 숫자로
또 시급 계산처럼 시간 × 금액을 할 때는 반드시 =근무시간*24*시급처럼 24를 곱해야 합니다. 그대로 곱하면 "하루의 몇 분의 몇"에 시급을 곱한 셈이라 결과가 24분의 1로 작아져요.
소수점으로 시간을 다루는 만큼, 아주 작은 오차도 생길 수 있습니다. 엑셀은 IEEE 754 배정밀도 부동소수점으로 숫자를 저장하고 유효숫자를 15자리까지 다루기 때문에, 1/24처럼 나누어떨어지지 않는 값은 이진수로 정확히 표현되지 않아요. 시간 값끼리 =A1=B1로 비교했는데 FALSE가 나온다면 =ROUND(A1*1440,0)=ROUND(B1*1440,0)처럼 분 단위로 반올림해 비교하는 방법이 안전합니다.
🕵️ 6. 날짜가 숫자로 "변신"하는 대표 상황 7가지
원리를 알았으니, 이제 실제로 어떤 순간에 날짜의 옷이 벗겨지는지 사건 현장을 하나씩 살펴볼게요. 대부분은 "값은 날짜인데 표시 형식이 날짜가 아닌" 상황입니다.
서식 복사(서식 페인터), 다른 시트에서 값만 붙여넣기, 열 전체에 숫자 서식을 적용하는 과정에서 날짜 서식이 덮어씌워지면 일련번호가 그대로 보입니다. 가장 흔하고 가장 쉽게 고칠 수 있는 경우예요.
VLOOKUP, XLOOKUP, INDEX/MATCH, SUMIFS, MAX 같은 함수로 날짜를 불러오면, 결과 셀이 원본의 서식을 따라오지 않을 때가 많습니다. 함수는 값만 돌려주지 서식까지 돌려주지는 않기 때문이에요. 날짜를 조회했는데 45000대 숫자가 보인다면 결과 셀에 날짜 서식만 지정하면 끝납니다.
데이터베이스, 사내 시스템, 파이썬·R 같은 분석 도구가 엑셀 파일을 읽을 때 셀의 표시 형식을 해석하지 못하거나 무시하면 날짜 대신 일련번호가 들어옵니다. "엑셀에서는 날짜였는데 시스템에 올리니 45292가 됐다"는 상황이죠.
="계약일: "&A1처럼 문자열과 날짜를 &로 이으면 결과는 "계약일: 45292"가 됩니다. 문자열로 합쳐지는 순간 서식이 아니라 값이 쓰이기 때문이에요. 이때는 ="계약일: "&TEXT(A1,"yyyy-mm-dd")로 해결합니다.
워드의 편지 병합(메일 머지)이 엑셀 날짜를 원하지 않는 형태로 가져오는 경우가 있고, 피벗 테이블 값 영역이나 차트 축에서 날짜가 숫자로 보이기도 합니다. 각 기능 안에서 날짜 서식을 별도로 지정하거나, 원본에 TEXT로 만든 표시용 열을 추가하면 됩니다.
=B1-A1의 결과가 "1900-03-01"처럼 이상한 날짜로 보인다면, 반대로 기간(일수)에 날짜 서식이 잘못 입혀진 것입니다. 60일이라는 숫자가 날짜 서식을 입어 일련번호 60에 해당하는 날짜처럼 보인 거예요. 이때는 서식을 '일반'이나 '숫자'로 바꿔야 정답 "60"이 보입니다.
날짜가 숫자로 보이는 것과 쌍둥이 같은 증상입니다. 열 너비가 좁아 날짜를 다 표시할 수 없거나, 음수 날짜·시간(예: 이른 시각에서 늦은 시각을 뺀 결과)이 나와서 1900 체계에서 표현할 수 없을 때 나타납니다. 열을 넓혀도 그대로라면 값이 음수인지 확인해 보세요.
🛠️ 7. 숫자를 다시 날짜로 되돌리는 방법
상황별로 가장 빠른 해결법을 정리했습니다. 셀 안의 값이 진짜 숫자인지, 숫자처럼 생긴 텍스트인지에 따라 처방이 달라져요.
기본 날짜 서식을 바로 적용합니다. 사용 환경에 따라 형식이 다르게 보일 수 있으니, 원하는 모양이 아니면 아래 셀 서식을 쓰세요.
목록에서 고르거나, '사용자 지정'에서 yyyy-mm-dd처럼 직접 입력합니다.
"간단한 날짜" 또는 "자세한 날짜"를 선택하면 됩니다.
📐 자주 쓰는 날짜·시간 사용자 지정 서식
| 서식 코드 | 45292.5를 표시하면 | 용도 |
|---|---|---|
| yyyy-mm-dd | 2024-01-01 | 국제 표준(ISO 8601)과 같은 순서, 정렬·공유에 무난 |
| yyyy"년" m"월" d"일" | 2024년 1월 1일 | 보고서, 공문 |
| m/d | 1/1 | 달력, 일정표 |
| yyyy-mm-dd (aaa) | 2024-01-01 (월) | 한국어 요일 약어 표시 |
| aaaa | 월요일 | 한국어 요일 전체 |
| ddd | Mon | 영문 요일 약어 |
| yyyy-mm-dd hh:mm | 2024-01-01 12:00 | 로그, 타임스탬프 |
| AM/PM h:mm | PM 12:00 | 12시간제 표시 |
| [h]:mm | 1087020:00 | 누적 시간 (24시간 초과 표시) |
마지막 줄이 재미있죠? 45292.5일을 시간으로 누적하면 45292.5 × 24 = 1,087,020시간입니다. [h]는 정말로 "날짜 개념 없이 시간만 계속 센다"는 것을 보여주는 예시예요. 실제 업무에서는 근무시간 합계 같은 작은 값에 씁니다.
🎭 8. 진짜 골칫거리: "날짜처럼 생긴 텍스트"
서식만 바꿔도 해결되는 경우는 사실 행복한 편입니다. 진짜 어려운 상황은 겉보기엔 날짜인데 실제로는 텍스트인 경우예요. 이런 셀은 서식을 아무리 바꿔도 숫자로도, 날짜로도 변하지 않습니다. 엑셀 입장에서는 "2024.01.01"이라는 그냥 글자이기 때문이죠.
텍스트 날짜를 알아보는 신호
텍스트 날짜는 주로 이런 경로로 생깁니다. 사내 시스템에서 내려받은 CSV·텍스트 파일, 웹 페이지에서 복사한 표, 마침표로 구분한 한국식 표기(2024.01.01), 앞에 아포스트로피(')를 붙여 입력한 값, 앞뒤에 보이지 않는 공백이 섞인 값 등이에요. 특히 2024.01.01처럼 마침표 구분은 한국 실무에서 정말 자주 쓰이지만, 엑셀이 날짜로 자동 인식하지 못하는 경우가 많습니다.
텍스트 → 진짜 날짜 변환 레시피
열 선택 → 데이터 → 텍스트 나누기 → 구분 기호(또는 너비 일정) → 다음 → 3단계에서 열 데이터 서식을 날짜(YMD)로 지정 → 마침. 연·월·일 순서를 직접 알려 주기 때문에 엑셀이 헷갈리지 않습니다. 원본이 "01/02/2024"처럼 월·일 순서가 모호한 경우에는 MDY·DMY 중 원본에 맞는 순서를 골라야 해요.
"2024.01.01"이라면 Ctrl + H로 마침표(.)를 하이픈(-)으로 바꾸면, 엑셀이 다시 입력된 값을 해석하면서 날짜로 인식하는 경우가 많습니다. 숫자 데이터에 있는 마침표(소수점)까지 바뀌지 않도록 반드시 날짜 열만 선택하고 실행하세요.
=DATEVALUE("2024-01-01")은 텍스트를 일련번호 45292로 바꿔 줍니다. 결과는 숫자이므로 날짜 서식을 입혀 주세요. 다만 어떤 텍스트 형식을 인식할 수 있는지는 운영체제의 지역·날짜 설정에 영향을 받습니다.
형식이 제멋대로라면 연·월·일을 잘라서 직접 조립하는 게 가장 확실합니다.
=DATE(LEFT(A1,4), MID(A1,6,2), RIGHT(A1,2)) → "2024.01.01"을 45292로.
"20240101"처럼 붙어 있는 8자리라면 =DATE(LEFT(A1,4), MID(A1,5,2), RIGHT(A1,2)).
"45292"가 텍스트로 들어 있다면 =VALUE(A1)이나 =A1*1, =--A1로 숫자로 바꾼 뒤 날짜 서식을 적용합니다. 빈 셀에 1을 입력·복사한 뒤 선택하여 붙여넣기 → 곱하기를 써도 한 번에 변환돼요. 앞뒤 공백이 의심되면 =TRIM()을 먼저 거치세요.
② 월과 일이 뒤바뀌지 않았는지 1~12일 날짜로 샘플 확인 — 3월 5일이 5월 3일로 바뀌는 사고는 "1~12" 사이 날짜에서만 조용히 일어납니다. 13일 이후 날짜는 오히려 변환이 실패해서 눈에 띄지만, 12일 이하는 에러 없이 틀려요. 😱
🔄 9. 반대 방향: 날짜를 일부러 숫자로 보는 순간들
날짜가 숫자로 보이는 게 늘 사고는 아닙니다. 숙련자일수록 오히려 일부러 숫자를 꺼내 봅니다. 왜냐하면 숫자 상태를 알아야 엑셀의 날짜 함수가 어떻게 움직이는지 정확히 이해할 수 있거든요.
| 함수 | 예시 | 원리 (숫자 관점) |
|---|---|---|
| TODAY / NOW | =TODAY() | 오늘의 일련번호(정수) / 현재 날짜+시간(실수) |
| DATE | =DATE(2024,1,1) | 연·월·일 → 45292. 월에 13을 넣으면 다음 해 1월로 자동 이월 |
| WEEKDAY | =WEEKDAY(A1,2) | 일련번호의 7일 주기를 이용해 요일 번호 반환 (2번 옵션: 월=1 … 일=7) |
| EDATE | =EDATE(A1,3) | 3개월 뒤 같은 날의 일련번호 (말일 보정 포함) |
| EOMONTH | =EOMONTH(A1,0) | 해당 월 마지막 날의 일련번호 |
| NETWORKDAYS | =NETWORKDAYS(A1,B1,공휴일) | 두 일련번호 사이의 평일 수 (주말·공휴일 제외) |
| WORKDAY | =WORKDAY(A1,10,공휴일) | 평일 기준 10일 뒤의 일련번호 |
| DATEDIF | =DATEDIF(A1,B1,"y") | 두 날짜 사이의 만 연수 (함수 마법사 목록엔 없지만 사용 가능) |
| TEXT | =TEXT(A1,"yyyy-mm-dd") | 숫자를 텍스트로 바꿔 표시 (결과는 더 이상 계산용 날짜가 아님) |
예를 들어 =DATE(2024,2,30)을 입력하면 에러 대신 2024-03-01이 나옵니다. 엑셀이 "2월 1일의 일련번호 + 29일"처럼 계산하기 때문이에요(2024년 2월은 29일까지라 30일째는 3월 1일). 이렇게 날짜를 숫자의 연속으로 보면, 월말 처리나 이월 계산이 왜 자연스럽게 되는지 이해가 됩니다.
🌐 10. 다른 도구와 만날 때: 파이썬·구글 시트·CSV
엑셀 날짜의 숫자 구조는 엑셀 밖으로 나갈 때 진짜 존재감을 드러냅니다. 데이터 분석이나 자동화를 하다 보면 한 번쯤 꼭 만나게 되는 장면들이에요.
🐍 파이썬에서 45292를 날짜로 바꾸기
파이썬에서 엑셀 일련번호를 날짜로 바꿀 때는 기준일을 1899-12-30으로 잡는 방법이 널리 쓰입니다. "1900-01-01이 1인데 왜 기준이 12월 31일이 아니라 30일이지?" 싶지만, 바로 앞에서 본 가짜 1900년 2월 29일 때문에 하루를 더 당겨야 1900년 3월 1일 이후 날짜가 정확히 맞아요. 수십 년 전 호환성 결정이 오늘의 파이썬 코드에 남아 있는 셈입니다. 🤯
import pandas as pd
# 엑셀 일련번호 → 날짜 (1900 체계, 1900-03-01 이후 날짜 기준)
pd.to_datetime(45292, unit="D", origin="1899-12-30")
# Timestamp('2024-01-01 00:00:00')
# 시간 소수부까지 포함
pd.to_datetime(45292.5, unit="D", origin="1899-12-30")
# Timestamp('2024-01-01 12:00:00')
openpyxl 같은 라이브러리는 셀 서식이 날짜이면 보통 자동으로 datetime으로 읽어 주지만, 서식 없이 숫자만 저장된 셀은 숫자로 읽힙니다. 분석 결과에 45000대 숫자 열이 보인다면 위 방식으로 변환하면 됩니다.
📗 구글 시트는 어떨까?
구글 스프레드시트도 날짜를 일련번호로 저장하며, 1900년 3월 1일 이후 날짜는 엑셀과 같은 번호를 가집니다. 구글 시트의 기준점은 1899년 12월 30일 = 0이고, 1900년을 평년으로 정확히 처리해요. 그래서 현대 날짜는 두 프로그램에서 똑같이 45292이지만, 1900년 1~2월처럼 아주 오래된 날짜는 번호가 하루 차이 납니다. 역사 데이터를 다루는 분이라면 기억해 둘 만한 차이예요.
📄 CSV는 서식이 없는 세계
CSV는 순수한 텍스트 파일이라 셀 서식이라는 개념 자체가 없습니다. 엑셀이 CSV를 열 때는 각 칸의 글자를 보고 "이건 날짜 같다"고 추측해서 변환해요. 이 추측이 편하기도 하지만, 원하지 않는 변환을 일으키기도 합니다.
최신 Microsoft 365용 엑셀에는 이런 문제를 줄이기 위해 파일 → 옵션 → 데이터 → 자동 데이터 변환 설정이 추가되었습니다. 앞자리 0 제거, 긴 숫자의 지수 표기, 연속된 문자와 숫자를 날짜로 바꾸는 동작 등을 끌 수 있어요. 사용하는 엑셀 버전에 따라 메뉴가 보이지 않을 수 있으니, 그런 경우에는 CSV를 바로 더블클릭해 열기보다 데이터 → 텍스트/CSV에서 가져오기(파워 쿼리)로 열의 데이터 형식을 직접 지정하는 방법이 안전합니다.
📏 11. 엑셀 날짜의 경계와 한계
날짜가 숫자라는 사실은 "표현할 수 있는 범위"에도 그대로 이어집니다.
1904 체계: 1904-01-01 (=0)
그 이전 날짜는 날짜 값으로 입력되지 않고 텍스트로 남습니다.
1900 체계 일련번호 2,958,465.
그래서 조선 시대 연표나 1800년대 기록처럼 1900년 이전 날짜를 다뤄야 한다면, 엑셀의 날짜 계산 기능에 기대기보다 연·월·일을 각각 숫자 열로 따로 관리하는 방식이 현실적입니다. 반대로 1904 체계에서는 음수 시간(예: −2:00)을 표시할 수 있다는 특징이 있지만, 그 목적만으로 날짜 체계를 바꾸는 건 앞서 본 4년 1일 이동 문제 때문에 권하지 않아요.
🧠 12. 실무자를 위한 날짜 데이터 위생 수칙
원리를 알았다면, 이제 사고를 미리 막는 습관이 남았습니다. 협업 문서가 많아질수록 이 습관이 팀 전체의 시간을 아껴 줘요.
"2024년 1분기", "1월 초" 같은 설명형 텍스트를 날짜 열에 섞지 마세요. 필요하면 별도 메모 열을 만드세요.
2024-01-01, 2024/1/1은 한국어 환경 엑셀에서 날짜로 잘 인식됩니다. 마침표 표기는 텍스트가 되기 쉬우니, 보기에 마침표가 필요하면 yyyy.mm.dd 서식으로 "보여주기"만 하세요.
Ctrl + ; 오늘 날짜, Ctrl + Shift + ; 현재 시각이 고정값으로 입력됩니다. =TODAY()는 파일을 열 때마다 바뀌는 값이라 기록용으로는 부적합해요.
데이터 → 데이터 유효성 검사 → 제한 대상: 날짜를 지정하면, 날짜가 아닌 값의 입력을 막을 수 있습니다. 여러 사람이 채우는 양식에 특히 효과적이에요.
시스템 업로드나 해외 협업이 있다면 =TEXT(A1,"yyyy-mm-dd") 열을 추가해 보내세요. 연-월-일 순서는 월·일이 뒤바뀌는 오해를 크게 줄여 줍니다.
오래된 Mac 파일이나 출처가 다양한 파일을 합칠 때는 날짜 체계 옵션부터 확인하세요. 4년 1일 차이는 눈으로 보면 금방 발견되지만, 합계·피벗 안에 섞이면 찾기 어렵습니다.
❓ 13. 자주 묻는 질문 Q&A
① 엑셀의 날짜는 일련번호(정수)이고, 우리가 보는 날짜 모양은 그 위에 입힌 표시 형식이다.
② 1900 체계에서 1900-01-01 = 1, 2024-01-01 = 45292. 하루에 1씩 증가한다.
③ 1900년 2월 29일(일련번호 60)은 Lotus 1-2-3 호환을 위해 남겨진 가상의 날이다.
④ 1904 체계와 1900 체계는 1,462일 차이. 파일 간 복사 시 4년 1일 밀림 주의.
⑤ 시간은 하루의 분수. 12:00 = 0.5, 시간 합계엔 [h]:mm, 시급엔 ×24.
⑥ 숫자로 보이면 서식만 바꾸면 끝. 서식이 안 먹히면 텍스트 날짜를 의심하고 변환하자.
⑦ 파이썬 변환 기준일은 1899-12-30 — 30년 넘은 호환성 결정의 흔적.
다음에 셀에서 45292를 만나면 당황하지 말고 이렇게 생각해 보세요. "아, 2024년 1월 1일이 잠깐 옷을 벗고 쉬고 있구나." 😄 엑셀이 날짜를 숫자로 보는 방식을 이해하면, 기간 계산부터 근태 관리, 데이터 연동까지 날짜와 관련된 거의 모든 문제가 한결 단순해집니다. 엑셀 실력을 한 단계 끌어올리고 싶다면, 재능넷에서 다른 사람들의 실전 노하우를 둘러보는 것도 좋은 출발점이 될 거예요.
📚 참고 자료
Microsoft 지원 – 날짜 체계 1900과 1904의 차이 (Date systems in Excel): https://support.microsoft.com/office/date-systems-in-excel-e7fe7167-48a9-4b96-bb53-5612a800b487
Microsoft Learn – Excel에서 1900년을 윤년으로 잘못 처리하는 문제 (Excel incorrectly assumes that the year 1900 is a leap year): https://learn.microsoft.com/office/troubleshoot/excel/wrongly-assumes-1900-is-leap-year
Microsoft 지원 – Excel 사양 및 제한 (Excel specifications and limits): https://support.microsoft.com/office/excel-specifications-and-limits-1672b34d-7043-467e-8e27-269d656771c3
Microsoft 지원 – 날짜를 텍스트로 저장된 날짜에서 변환 (Convert dates stored as text to dates): https://support.microsoft.com/office/convert-dates-stored-as-text-to-dates-8df7663e-98e6-4295-96e4-32a67ec0a680
HGNC – Gene symbols changed to avoid Excel auto-conversion (Bruford et al., Nature Genetics, 2020): https://www.nature.com/articles/s41588-020-0669-3
관련 키워드
댓글 작성
이 글에 대한 여러분의 생각을 들려주세요
로그인이 필요합니다
댓글을 작성하려면 먼저 로그인해주세요.
댓글 0
지식인의 숲 - 지적 재산권 보호 고지
지적 재산권 보호 고지
- 저작권 및 소유권: 본 컨텐츠는 재능넷의 독점 AI 기술로 생성되었으며, 대한민국 저작권법 및 국제 저작권 협약에 의해 보호됩니다.
- AI 생성 컨텐츠의 법적 지위: 본 AI 생성 컨텐츠는 재능넷의 지적 창작물로 인정되며, 관련 법규에 따라 저작권 보호를 받습니다.
- 사용 제한: 재능넷의 명시적 서면 동의 없이 본 컨텐츠를 복제, 수정, 배포, 또는 상업적으로 활용하는 행위는 엄격히 금지됩니다.
- 데이터 수집 금지: 본 컨텐츠에 대한 무단 스크래핑, 크롤링, 및 자동화된 데이터 수집은 법적 제재의 대상이 됩니다.
- AI 학습 제한: 재능넷의 AI 생성 컨텐츠를 타 AI 모델 학습에 무단 사용하는 행위는 금지되며, 이는 지적 재산권 침해로 간주됩니다.
아직 댓글이 없습니다.