PDA

View Full Version : Định dạng ngày tháng (chưa gặp bao giờ)



prince205
05-05-09, 08:57 AM
Mình có đứa bạn gửi cho bảng cell nhờ chỉnh giùm lại định dạng ngày trước tháng sau mà mình làm mãi vẫn chưa có cách nào thực sự hiệu quả cả. Các pro xem và chỉ giáo dùm mình nhé

BNTT
05-05-09, 09:05 AM
Mình có đứa bạn gửi cho bảng cell nhờ chỉnh giùm lại định dạng ngày trước tháng sau mà mình làm mãi vẫn chưa có cách nào thực sự hiệu quả cả. Các pro xem và chỉ giáo dùm mình nhé
Tôi làm chỉ mất có 3s...

Trên máy tôi, định dạng ngày tháng của hệ thống là tháng trước ngày sau (mm/dd/yyyy), theo kiểu Mỹ.
Tôi mở file của bạn ra, chọn một ô trống nào đó, copy nó, rồi chọn 2 cột B, C của bạn, chọn Paste Special / Add.
Xong. Tất cả đã tự động chuyển về dạng dd/mm/yyyy (cho dù trong hệ thống máy của tôi là dạng mm/dd/yyyy).

Đây có phải là điều bạn muốn không:

http://i216.photobucket.com/albums/cc49/BNTT_photos/000-1150.jpg
Tôi cố tình chọn 1 ô (ở đây là ô C8) để chứng minh rằng ngày giờ hệ thống của tôi là mm/dd/yyy trong khi kết quả của cái cú Paste Special kia lại là dd/mm/yyyy.
Các bạn xem kết quả trong C8 và cái hiển thị trên Formula Bar, chúng chả giống nhau.

Có ai giải thích dùm tôi chuyện này không?
Tôi chỉ xin chia sẻ kinh nghiệp xử lý loại này thôi. Còn tại sao có thể thực hiện "nhanh" như vậy thì tôi chịu.
Chiêu này tôi học của anh AnhTuan1066.

huuthang_bd
05-05-09, 09:20 AM
Mình có đứa bạn gửi cho bảng cell nhờ chỉnh giùm lại định dạng ngày trước tháng sau mà mình làm mãi vẫn chưa có cách nào thực sự hiệu quả cả. Các pro xem và chỉ giáo dùm mình nhé
Cái này đâu phải là định dạng ngày tháng năm đâu bạn. Các giá trị đó đang ở kiểu Text.

Tôi làm chỉ mất có 3s...

Trên máy tôi, định dạng ngày tháng của hệ thống là tháng trước ngày sau (mm/dd/yyyy), theo kiểu Mỹ.
Tôi mở file của bạn ra, chọn một ô trống nào đó, copy nó, rồi chọn 2 cột B, C của bạn, chọn Paste Special / Add.
Xong. Tất cả đã tự động chuyển về dạng dd/mm/yyyy (cho dù trong hệ thống máy của tôi là dạng mm/dd/yyyy).

Chỉ xin chia sẻ kinh nghiệp xử lý loại này. Còn tại sao có thể thực hiện "nhanh" như vậy thì tôi chịu.
Chiêu này tôi học của anh AnhTuan1066.
Về nguyên tắc, các giá trị số nhưng thể hiện dưới dạng Text thì vẫn tính toán được. Và sau khi tính toán, kết quả sẽ trả về giá trị kiểu Number. Cách làm này cũng trên nguyên tắc đó mà thôi. Cộng cho mỗi ngày (đang được thể hiện dưới dạng Text) một số 0.

BeThong
05-05-09, 09:48 AM
Trước tiên, bạn phải chỉnh lại cách hiểu ngày của hệ thống đã.
- vào Star -> Control Panel -> Reginol and Language Options -> trong bảng Reginol Options chọn Customize sau đó chỉnh định dạng ngày cho phù hợp theo ý bạn rồi ok.
- vào excel chọn format cell -> custom -> đánh định dạng ngày theo ý bạn rồi ok.

BNTT
05-05-09, 10:04 AM
Trước tiên, bạn phải chỉnh lại cách hiểu ngày của hệ thống đã.
- vào Star -> Control Panel -> Reginol and Language Options -> trong bảng Reginol Options chọn Customize sau đó chỉnh định dạng ngày cho phù hợp theo ý bạn rồi ok.
- vào excel chọn format cell -> custom -> đánh định dạng ngày theo ý bạn rồi ok.
Người ta nhờ chuyển cái định dạng ngày tháng đang có trong file trở lại đúng dạng ngày tháng năm cơ mà bạn? Chứ nếu nhập lại thì nói làm gì nữa?

Còn nếu như ý bạn, là chỉnh lại định dạng trong ControlPanel, rồi quay lại bảng tính, FormatCell là nó tự chuyển đổi liền? Bạn thử chưa?

rollover79
05-05-09, 07:09 PM
Tôi làm chỉ mất có 3s...

Trên máy tôi, định dạng ngày tháng của hệ thống là tháng trước ngày sau (mm/dd/yyyy), theo kiểu Mỹ.
Tôi mở file của bạn ra, chọn một ô trống nào đó, copy nó, rồi chọn 2 cột B, C của bạn, chọn Paste Special / Add.
Xong. Tất cả đã tự động chuyển về dạng dd/mm/yyyy (cho dù trong hệ thống máy của tôi là dạng mm/dd/yyyy).

Đây có phải là điều bạn muốn không:
http://i216.photobucket.com/albums/cc49/BNTT_photos/000-1150.jpgTôi cố tình chọn 1 ô (ở đây là ô C8) để chứng minh rằng ngày giờ hệ thống của tôi là mm/dd/yyy trong khi kết quả của cái cú Paste Special kia lại là dd/mm/yyyy.
Các bạn xem kết quả trong C8 và cái hiển thị trên Formula Bar, chúng chả giống nhau.

Có ai giải thích dùm tôi chuyện này không?
Tôi chỉ xin chia sẻ kinh nghiệp xử lý loại này thôi. Còn tại sao có thể thực hiện "nhanh" như vậy thì tôi chịu.
Chiêu này tôi học của anh AnhTuan1066.
Bản chất của vấn đề này là việc excel tự ép kiểu dữ liệu trong các biểu thức, dữ liệu nào phù hợp với kiểu sẽ tự động được chuyển trước khi tính toán. Ở đây thao tác của bác cho kết quả đúng là vì định dạng hệ thống là mm/dd/yyyy, và dữ liệu ở đây cũng có đúng định dạng là mm/dd/yyyy(mặc dù đang là text), nên khi ép kiểu nó đúng. Bác thử đổi lại định dạng hệ thống thánh dd/mm/yyyy rồi thực hiện lại thử xem, nó sẽ sai bét ngay. Khi đó nó sẽ ép kiểu text thành kiểu date theo đúng định dạng hệ thống là dd/mm/yyyy, và khi đó ô nào phù hợp (ngày<=12) mới chuyển được thành ngày, nhưng mà giá trị vẫn sai, còn các ô không phù hợp (ngày>12) thì không có gì thay đổi, vì nó không ép được kiểu.

ndu96081631
05-05-09, 07:37 PM
Bản chất của vấn đề này là việc excel tự ép kiểu dữ liệu trong các biểu thức, dữ liệu nào phù hợp với kiểu sẽ tự động được chuyển trước khi tính toán. Ở đây thao tác của bác cho kết quả đúng là vì định dạng hệ thống là mm/dd/yyyy, và dữ liệu ở đây cũng có đúng định dạng là mm/dd/yyyy(mặc dù đang là text), nên khi ép kiểu nó đúng. Bác thử đổi lại định dạng hệ thống thánh dd/mm/yyyy rồi thực hiện lại thử xem, nó sẽ sai bét ngay. Khi đó nó sẽ ép kiểu text thành kiểu date theo đúng định dạng hệ thống là dd/mm/yyyy, và khi đó ô nào phù hợp (ngày<=12) mới chuyển được thành ngày, nhưng mà giá trị vẫn sai, còn các ô không phù hợp (ngày>12) thì không có gì thay đổi, vì nó không ép được kiểu.
Điều này đương nhiên rồi... chính vì lẽ đó mà bài viết trước tôi có đề cập rằng:
- Do tôi thấy dử liệu được định dạng mm/dd/yyyy (dù là dạng TEXT)
- Thế là chơi "tà đạo" 1 chút ---> Tạm chuyển định dang DATE của hệ thống sang mm/dd/yyyy luôn, sau đó "ép" dử liệu từ TEXT sang NUM bằng PasteSpecial
- Sau khi làm xong, lại chuyển định dang DATE của hệ thống về như củ
Chỉ là cách muốn làm cho nhanh mà không muốn dùng công thức hay code thôi ---> Vì thức chất ta chỉ làm duy nhất 1 lần (đâu có xài thêm nữa)

ptm0412
05-05-09, 11:28 PM
Thôi thì làm căn cơ tí đi. Thay vì 3 giây, thì 1 phút 3 giây.
1 phút để gõ công thức, 3 giây để fill ngang 1 cái, dọc 1 lô xếch xông.