Vấn Đề Là Gì
Bạn dán một cột ngày tháng vào Google Sheets và chúng biến thành các số như 44562, 45012, hoặc các số nguyên năm chữ số tương tự. Hoặc bạn viết công thức TEXT() để định dạng ngày tháng nhưng lại nhận về kết quả hoàn toàn không như mong đợi — sai tháng, sai dấu phân cách, hoặc chuỗi định dạng được trả về nguyên xi.
Hầu như ai cũng gặp tình trạng này ở một thời điểm nào đó. Nguyên nhân gốc rễ: Google Sheets lưu trữ mọi ngày tháng dưới dạng số thứ tự — tính số ngày kể từ ngày 30 tháng 12 năm 1899. Vì vậy 44562 tương ứng với ngày 1 tháng 1 năm 2022. Một ô chỉ hiển thị ngày tháng dạng con người đọc được khi có định dạng phù hợp được áp dụng. Xóa định dạng đó — hoặc không bao giờ thiết lập — và bạn sẽ thấy số nguyên thô.
Điều kiện lỗi cụ thể trông như thế này:
Date values appear as numbers (e.g., 44562) instead of formatted dates, or the TEXT function returns an unexpected date format.
Chẩn Đoán Vấn Đề
Bắt đầu bằng cách xác định bạn đang gặp tình huống nào trong ba tình huống sau — cách xử lý khác nhau cho từng trường hợp.
Tình huống 1 — Ô hiển thị số thô
Nhấp vào ô đang hiển thị 44562. Kiểm tra menu dropdown định dạng trên thanh công cụ (thường hiển thị "Automatic" hoặc "Number"). Nếu hiển thị Number thay vì Date, ô đó đã mất định dạng ngày tháng. Giá trị bên dưới vẫn là số thứ tự ngày hợp lệ — chỉ cần áp dụng đúng định dạng hiển thị.
Kiểm tra nhanh: nhập =A1+0 vào một ô khác và định dạng ô đó theo dạng ngày tháng. Nếu bạn thấy ngày thực như Jan 1, 2022, dữ liệu vẫn ổn. Chỉ có phần hiển thị bị lỗi.
Tình huống 2 — TEXT() trả về định dạng sai
Bạn viết công thức như:
=TEXT(A1, "MM/DD/YYYY")
Và nhận được 01/15/2022 trong khi bạn mong đợi 15/01/2022. Hoặc bạn nhận được #VALUE!. Hoặc định dạng đầu ra không khớp với những gì tài liệu nói.
Chín trong mười trường hợp, đây là do không khớp ngôn ngữ vùng miền. Các mã định dạng bên trong TEXT() phụ thuộc vào ngôn ngữ vùng miền trong Google Sheets — cùng một chuỗi hoạt động khác nhau tùy thuộc vào cài đặt khu vực của bảng tính.
Tình huống 3 — Dữ liệu nhập hoặc dán vào hiển thị số
Bạn kéo dữ liệu từ CSV hoặc sao chép từ ứng dụng khác, và ngày tháng đến dưới dạng số nguyên thô. Sheets không có metadata định dạng để đọc — nó không thể biết 44562 là ngày tháng thay vì số lượng hay mã ID. Vì vậy nó để nguyên dạng số.
Sửa Các Số Thô Phải Là Ngày Tháng
Phương pháp 1 — Áp dụng định dạng ngày tháng qua menu
- Chọn các ô đang hiển thị số thô.
- Vào Format → Number → Date (hoặc Date time nếu bạn cũng cần thời gian).
- Các số sẽ ngay lập tức hiển thị dưới dạng ngày tháng.
Cần định dạng cụ thể như YYYY-MM-DD? Vào Format → Number → Custom date and time và định nghĩa tại đó.
Phương pháp 2 — Định dạng số tùy chỉnh
Chọn các ô, mở Format → Number → Custom number format, và nhập mẫu của bạn:
YYYY-MM-DD → 2022-01-15
DD/MM/YYYY → 15/01/2022
MMM DD, YYYY → Jan 15, 2022
DD-MMM-YY → 15-Jan-22
Nhấp Apply, sau đó kiểm tra xem các ô có hiển thị ngày tháng đọc được không.
Phương pháp 3 — Ép chuyển đổi bằng công thức
Chỉ định dạng thôi sẽ không hiệu quả nếu các ô chứa chuỗi văn bản trông giống số thay vì giá trị số thực sự. Hãy chuyển đổi chúng trước:
=DATEVALUE(TEXT(A1,"0"))
Hoặc, nếu các số thứ tự được lưu dưới dạng văn bản và bạn chỉ cần chúng ở dạng số:
=A1*1
Sau đó định dạng cột kết quả theo dạng ngày tháng.
Sửa Lỗi Định Dạng Không Khớp Của TEXT()
Hàm TEXT() đọc mã định dạng thông qua lăng kính ngôn ngữ vùng miền của bảng tính. Đặt về Pháp? Dấu phân cách ngày tháng của bạn có thể là dấu chấm. Đặt về Nhật? Định dạng tháng hoạt động khác so với tiếng Anh. Cách sửa là căn chỉnh ngôn ngữ vùng miền với kỳ vọng của bạn hoặc sử dụng mã định dạng tránh được vấn đề này.
Kiểm tra và sửa ngôn ngữ vùng miền của bảng tính
- Vào File → Settings.
- Trong tab General, kiểm tra trường Locale.
- Thay đổi để phù hợp với quy ước định dạng ngày tháng mong đợi của bạn.
- Nhấp Save settings.
Sau khi thay đổi ngôn ngữ vùng miền, hãy đánh giá lại các công thức TEXT() của bạn — đầu ra sẽ phản ánh cài đặt mới.
Sử dụng mã định dạng độc lập với ngôn ngữ vùng miền
Tốt hơn nữa, hãy viết các công thức hoạt động nhất quán bất kể ngôn ngữ vùng miền:
=TEXT(A1, "YYYY-MM-DD") → ISO 8601, nhất quán ở mọi nơi
=TEXT(A1, "DD/MM/YYYY") → Định dạng ngày trước
=TEXT(A1, "MM/DD/YYYY") → Định dạng Mỹ
Tránh dùng tên tháng viết tắt trong các ngôn ngữ vùng miền không phải tiếng Anh trừ khi bạn đã xác nhận cách chúng hiển thị.
Bỏ qua TEXT() và tự xây dựng chuỗi
Khi TEXT() vẫn hoạt động sai, hãy bỏ nó đi. Dùng trực tiếp DAY(), MONTH(), và YEAR():
=YEAR(A1)&"-"&TEXT(MONTH(A1),"00")&"-"&TEXT(DAY(A1),"00")
Cách này luôn tạo ra YYYY-MM-DD — không liên quan đến ngôn ngữ vùng miền, vì bạn đang tự ghép chuỗi từ các phần riêng lẻ.
Sửa Ngày Tháng Được Nhập Bị Mất Định Dạng
Khi CSV mang vào ngày tháng dưới dạng số thứ tự thô, hãy khôi phục ngày gốc bằng cách cộng số thứ tự với mốc thời gian gốc:
=DATE(1899,12,30) + A1
Ngày thứ tự 1 trong Google Sheets = ngày 1 tháng 1 năm 1900. Ngày 0 = ngày 30 tháng 12 năm 1899 (một chi tiết xuất phát từ lỗi tương thích Lotus 1-2-3). Cộng số thứ tự của bạn với ngày gốc đó sẽ khôi phục đúng ngày tháng.
Định dạng cột kết quả theo dạng ngày tháng. Sau đó để thay thế dữ liệu gốc bằng giá trị — không phải công thức:
- Sao chép cột công thức.
- Dán dưới dạng Values only (Ctrl+Shift+V) vào cột gốc.
- Định dạng theo dạng ngày tháng.
- Xóa cột công thức phụ trợ.
Xác Minh Kết Quả Sửa Lỗi
Trước khi đóng bảng tính, hãy chạy kiểm tra nhanh:
- Các ô hiển thị ngày tháng dạng con người đọc được, không phải số nguyên năm chữ số.
- Nhấp vào ô đã sửa — thanh công thức phải hiển thị ngày tháng theo định dạng ngôn ngữ vùng miền của bạn (ví dụ:
1/15/2022), không phải số thô. - Chạy
=ISNUMBER(A1)trên ô — phải trả vềTRUE. Ngày tháng trong Sheets được lưu dưới dạng số, vì vậy điều này xác nhận giá trị bên dưới hợp lệ. - Chạy
=ISDATE(A1)— trả vềTRUEnếu Sheets nhận diện ô là kiểu ngày tháng. - Nếu bạn dùng
TEXT(), hãy xác minh chuỗi đầu ra khớp chính xác với định dạng mong đợi của bạn.
Phòng Tránh Trong Tương Lai
Ba thói quen giúp ngăn chặn vấn đề này trước khi nó xảy ra:
- Khóa ngôn ngữ vùng miền trước khi nhập dữ liệu. Thiết lập trong File → Settings trước mọi thao tác nhập hoặc dán. Thay đổi sau đó có thể làm thay đổi cách hiển thị các giá trị hiện có.
- Dùng ISO 8601 trong dữ liệu nguồn. Ngày tháng định dạng
YYYY-MM-DDđược phân tích rõ ràng trong hầu hết mọi ngôn ngữ vùng miền. Nếu bạn kiểm soát định dạng xuất, hãy dùng cách này. - Kiểm tra kỹ sau khi chuyển từ Excel. Excel và Sheets dùng chung hệ thống ngày tháng thứ tự, nhưng Excel có lỗi năm nhuận 1900 có thể gây lệch một ngày đối với ngày tháng trước ngày 1 tháng 3 năm 1900. Luôn kiểm tra một vài ngày tháng sau khi chuyển đổi.
- Dùng TEXT() chỉ để hiển thị. Với các phép tính ngày tháng, hãy dùng
DATEDIF(),DATE(), hoặcEDATE(). Chỉ dùngTEXT()ở cuối chuỗi công thức khi bạn cần chuỗi đã định dạng cho đầu ra.

