PDA

View Full Version : Chuyển đổi ngày tháng các loại về định dạng dd/mm/yyyy



bemy123
04-09-13, 02:36 PM
Em phải làm tổng hợp từ file của nhiều nơi gửi về, số lượng khá nhiều mà mỗi nơi có cách định dạng khác nhau, có cách nào để khi chuyển sang máy em thì tất cả đều trở về định dạng dd/mm/yyyy, nếu phải chọn từng loại rồi định dạng lại thì tốn time nhiều quá; khổ nỗi có lúc em định dạng các file nhận về sang dd/mm/yyyy, có lúc lại không? nhờ cả nhà giúp em, em muốn chuyển thành ngày 02/08/2013 nhưng không được+-+-+-+

CTLCT
04-09-13, 02:47 PM
Em phải làm tổng hợp từ file của nhiều nơi gửi về, số lượng khá nhiều mà mỗi nơi có cách định dạng khác nhau, có cách nào để khi chuyển sang máy em thì tất cả đều trở về định dạng dd/mm/yyyy, nếu phải chọn từng loại rồi định dạng lại thì tốn time nhiều quá; khổ nỗi có lúc em định dạng các file nhận về sang dd/mm/yyyy, có lúc lại không? nhờ cả nhà giúp em, em muốn chuyển thành ngày 02/08/2013 nhưng không được+-+-+-+
Trước tiên máy tính của bạn phải được định dạng CHUẨN đã
Đó là định dạng short date trong Control Panel là : dd/mm/yyyy
File của bạn tại ô D2 mình chỉ cần nhập 2/8 và Enter là ra 02/08/2013.
Giải pháp để không phải nhận nhiều file có nhiều loại định dạng ngày tháng khác nhau đó là :
Bạn giải quyết vấn đề từ GỐC, người nào gửi file cho bạn thì phải gửi đúng định dạng CHUẨN.
Nếu không đúng định dạng CHUẨN trên thì không nhận!

ndu96081631
04-09-13, 02:53 PM
Trước tiên máy tính của bạn phải được định dạng CHUẨN đã
Đó là định dạng short date trong Control Panel là : dd/mm/yyyy
File của bạn tại ô D2 mình chỉ cần nhập 2/8 và Enter là ra 02/08/2013.
Giải pháp để không phải nhận nhiều file có nhiều loại định dạng ngày tháng khác nhau đó là :
Bạn giải quyết vấn đề từ GỐC, người nào gửi file cho bạn thì phải gửi đúng định dạng CHUẨN.
Nếu không đúng định dạng CHUẨN trên thì không nhận!

Thật ra cái gọi là ĐỊNH DẠNG chẳng quan trọng gì. Vấn đề là GÕ ĐÚNG CHUẨN
Ví dụ 2/8/13 trên máy định dạng kiểu Mý và 8/2/12 trên máy định dạng kiểu Việt Nam thì chúng vẫn là ngày 8 tháng 2 thôi
Tóm lại: Cái ta cần là Gõ đúng chuẩn chứ không phải định dạng đúng chuẩn (mà thật ra chẳng có quy định gì gọi là ĐỊNH DẠNG CHUẨN cả)

CTLCT
04-09-13, 03:01 PM
Thật ra cái gọi là ĐỊNH DẠNG chẳng quan trọng gì. Vấn đề là GÕ ĐÚNG CHUẨN
Ví dụ 2/8/13 trên máy định dạng kiểu Mý và 8/2/12 trên máy định dạng kiểu Việt Nam thì chúng vẫn là ngày 8 tháng 2 thôi
Tóm lại: Cái ta cần là Gõ đúng chuẩn chứ không phải định dạng đúng chuẩn (mà thật ra chẳng có quy định gì gọi là ĐỊNH DẠNG CHUẨN cả)
Em đang chọn Location là Vietnam và chỉ cần gõ 2/8 và Enter là ra 02/08/2013 (đối với ngày tháng năm hiện tại);
gõ 2/8/11 và Enter là ra 02/08/2011 (đối với ngày tháng năm không phải hiện tại)
Vậy là đúng định dạng dd/mm/yyyy
Từ trước đến giờ em vẫn dùng như vậy ngay sau khi cài Win, Office cho dù là bất kỳ version nào của office, win.

hieuxd
04-09-13, 03:14 PM
Gõ đúng chuẩn thì mở ở máy nào cũng là dạng ngày tháng năm đúng
trong Control Panel mục Format nên để là VietNamese (Vietnam) và hạn chế thay đổi chi tiết bên trong
chỉ từ phiên bản Win7 mới có quy chuẩn theo kiểu Việt nam, Trước kia các bản Win cũ không có toàn phải chọn theo kiểu French (France) và chỉnh một số Custem
Mình đi thanh toán ở kho bạc một số lần gặp người khó tính bị trả lại hồ sơ ngay
để nhận biết mình để quy chuẩn quốc gia trong Control Panel đúng bạn nên xem dữ liệu ngày tháng mặc định dòng về bên trái hay phải

ndu96081631
04-09-13, 03:35 PM
Em đang chọn Location là Vietnam và chỉ cần gõ 2/8 và Enter là ra 02/08/2013 (đối với ngày tháng năm hiện tại);
gõ 2/8/11 và Enter là ra 02/08/2011 (đối với ngày tháng năm không phải hiện tại)
Vậy là đúng định dạng dd/mm/yyyy
Từ trước đến giờ em vẫn dùng như vậy ngay sau khi cài Win, Office cho dù là bất kỳ version nào của office, win.

Vâng! Thì bạn làm vậy đúng rồi
Vấn đề là chỉ đúng trên máy bạn thôi. Sang máy định dạng kiểu Mỹ (trong Control Panel) thì bạn phải gõ 8/2 mới ra được ngày 2 tháng 8
Còn lại phần định dạng: Tôi muốn định dạng tháng trước ngày sau hay ngày trước tháng sau thì cứ vào Format Cells mà định dạng ---> Điều này lại chẳng liên quan gì đến Control Panel cả
Tóm lại:
- Định dạng là do ta (hoặc Excel) tự quyết định (nhờ Format Cells do Excel quản lý)
- Cách gõ là do Windows quyết định, không phải ta muốn thế nào cũng được (và Excel không quản lý chuyện này)
Vậy nên tôi nói rằng: Nếu bạn gõ sai thì... TRỜI CỨU
------------
Một quy tắc tôi đã nhắc nhiều lần, giờ nhắc lại: Trên Excel, có 1 cách gõ luôn ĐÚNG CHUẨN bất chấp control panel quy định kiểu gì, đó là:
- Gõ theo định dạng yyyy/mm/dd (Năm rồi đến tháng rồi đến ngày)
- Gõ theo định dạng dd-MMM-yyyy (Ngày rồi đến tháng dạng chữ rồi đến năm)

bemy123
04-09-13, 03:48 PM
Trước tiên máy tính của bạn phải được định dạng CHUẨN đã
Đó là định dạng short date trong Control Panel là : dd/mm/yyyy
File của bạn tại ô D2 mình chỉ cần nhập 2/8 và Enter là ra 02/08/2013.
Giải pháp để không phải nhận nhiều file có nhiều loại định dạng ngày tháng khác nhau đó là :
Bạn giải quyết vấn đề từ GỐC, người nào gửi file cho bạn thì phải gửi đúng định dạng CHUẨN.
Nếu không đúng định dạng CHUẨN trên thì không nhận!
Máy tính của mình đã định dạng trong control panel là dd/mm/yyyy rùi mình còn vào cả ngay file excel trong format cell đẩ chỉnh lại là vietnam nữa; còn khi bạn gõ 2/8 thì dĩ nhiên là ra rồi vì bạn và mình đều đang định dạng + gõ đúng chuẩn còn khi ng khác gửi cho mình thì k, cái vụ "Nếu không đúng định dạng CHUẨN trên thì không nhận!" khổ lắm bạn àh, nhiều ng lắm: khách hàng, đồng nghiệp và có cả sếp mình nữa....

hieuxd
04-09-13, 03:48 PM
Em đang chọn Location là Vietnam và chỉ cần gõ 2/8 và Enter là ra 02/08/2013 (đối với ngày tháng năm hiện tại);
gõ 2/8/11 và Enter là ra 02/08/2011 (đối với ngày tháng năm không phải hiện tại)
Vậy là đúng định dạng dd/mm/yyyy
Từ trước đến giờ em vẫn dùng như vậy ngay sau khi cài Win, Office cho dù là bất kỳ version nào của office, win.

Win trước Win 7 không có Location là Vietnam
các phiên bản sau Win 7 mới được cập nhật thêm Location là Vietnam

bemy123
04-09-13, 03:56 PM
Vâng! Thì bạn làm vậy đúng rồi
Vấn đề là chỉ đúng trên máy bạn thôi. Sang máy định dạng kiểu Mỹ (trong Control Panel) thì bạn phải gõ 8/2 mới ra được ngày 2 tháng 8
Còn lại phần định dạng: Tôi muốn định dạng tháng trước ngày sau hay ngày trước tháng sau thì cứ vào Format Cells mà định dạng ---> Điều này lại chẳng liên quan gì đến Control Panel cả
Tóm lại:
- Định dạng là do ta (hoặc Excel) tự quyết định (nhờ Format Cells do Excel quản lý)
- Cách gõ là do Windows quyết định, không phải ta muốn thế nào cũng được (và Excel không quản lý chuyện này)
Vậy nên tôi nói rằng: Nếu bạn gõ sai thì... TRỜI CỨU
------------
Một quy tắc tôi đã nhắc nhiều lần, giờ nhắc lại: Trên Excel, có 1 cách gõ luôn ĐÚNG CHUẨN bất chấp control panel quy định kiểu gì, đó là:
- Gõ theo định dạng yyyy/mm/dd (Năm rồi đến tháng rồi đến ngày)
- Gõ theo định dạng dd-MMM-yyyy (Ngày rồi đến tháng dạng chữ rồi đến năm)
Vậy là cuối cùng để khi chuyển sang máy em chỉ còn cách ngồi gõ lại sau ạh, có cách nào khác không ah, giúp em với, thank

hieuxd
04-09-13, 04:01 PM
Máy tính của mình đã định dạng trong control panel là dd/mm/yyyy rùi mình còn vào cả ngay file excel trong format cell đẩ chỉnh lại là vietnam nữa; còn khi bạn gõ 2/8 thì dĩ nhiên là ra rồi vì bạn và mình đều đang định dạng + gõ đúng chuẩn còn khi ng khác gửi cho mình thì k, cái vụ "Nếu không đúng định dạng CHUẨN trên thì không nhận!" khổ lắm bạn àh, nhiều ng lắm: khách hàng, đồng nghiệp và có cả sếp mình nữa....

Vậy là cuối cùng để khi chuyển sang máy em chỉ còn cách ngồi gõ lại sau ạh, có cách nào khác không ah, giúp em với, thank

Hành ai được thì cứ việc hành, hành một hai lần là họ sẽ quen còn việc nhẫn nhịn thì
Thôi thì trời không chịu đất thì đất phải chịu trời vậy, thích sửa thủ công hay dùng hàm
Bạn tách cái ngày tháng năm ấy ra làm 3 rồi dùng hàm =Date(năm,tháng,ngày)
Có thể dùng chức năng Text to Columns để tách làm 3
hoặc dùng hàm cắt ký tự left,right...
sau khi có ngày tháng năm chuẩn thì Copy paste value lại vào cột ngày tháng năm

ndu96081631
04-09-13, 04:04 PM
Vậy là cuối cùng để khi chuyển sang máy em chỉ còn cách ngồi gõ lại sau ạh, có cách nào khác không ah, giúp em với, thank

Gõ gì chứ!
Nếu bạn chắc chắn rằng người ta gõ đúng thì bạn chỉ cần định dạng lại thôi
Mà sao bạn lại nói:

nếu phải chọn từng loại rồi định dạng lại thì tốn time nhiều quá
Bạn quét chọn nguyên 1 vùng, định dạng 1 lần duy nhất có gì khó khăn đâu? (mất 10 giây)
Nếu như:

khổ nỗi có lúc em định dạng các file nhận về sang dd/mm/yyyy, có lúc lại không
Có nghĩa là người gửi file đã gõ sai. Cái này thì buộc bạn phải tự làm lại: gõ lại hoặc dùng công thức để chuyển đổi ---> Vụ này đã nói nhiều lần trên diễn đàn rồi
(Bạn gửi lên 1 file chỉ đúng có 1 dòng dữ liệu nên cũng chẳng biết phải giúp thế nào)

bemy123
04-09-13, 04:11 PM
Hành ai được thì cứ việc hành, hành một hai lần là họ sẽ quen còn việc nhẫn nhịn thì
Thôi thì trời không chịu đất thì đất phải chịu trời vậy, thích sửa thủ công hay dùng hàm
Bạn tách cái ngày tháng năm ấy ra làm 3 rồi dùng hàm =Date(năm,tháng,ngày)
Có thể dùng chức năng Text to Columns để tách làm 3
hoặc dùng hàm cắt ký tự left,right...
sau khi có ngày tháng năm chuẩn thì Copy paste value lại vào cột ngày tháng năm
thank u nhìu, mình nghĩ phải dùng hàm or là gì đó thôi số lượng bên mình nhìu lắm không thể thủ công nỗi đâu nhưng bạn cho mình hỏi giả sử ngày 02/3/2013 khi ng ta chuyển cho mình thì sẽ là 3/2/2013-> dùng theo cách của bạn; nhưng có dòng (cùng trên 1 sheet) mặc định sẵn là 15/02/2013 thì dùng cách này được không bạn, thank

hieuxd
04-09-13, 04:22 PM
thank u nhìu, mình nghĩ phải dùng hàm or là gì đó thôi số lượng bên mình nhìu lắm không thể thủ công nỗi đâu nhưng bạn cho mình hỏi giả sử ngày 02/3/2013 khi ng ta chuyển cho mình thì sẽ là 3/2/2013-> dùng theo cách của bạn; nhưng có dòng (cùng trên 1 sheet) mặc định sẵn là 15/02/2013 thì dùng cách này được không bạn, thank
Trước tiên cứ tách dữ liệu thành 3 cột
Tùy thuộc dữ liệu thực tế bạn cần chọn tham số cho hàm Date
phần năm thì là cột thứ 3
phần ngày tháng thì thay đổi theo thực tế
Công thức sử dụng sao chép cho từng đoạn thôi
Bạn gửi 1 file có nhiều dữ liệu một chút xem nào

bemy123
04-09-13, 04:23 PM
Gõ gì chứ!
Nếu bạn chắc chắn rằng người ta gõ đúng thì bạn chỉ cần định dạng lại thôi
Mà sao bạn lại nói:

Bạn quét chọn nguyên 1 vùng, định dạng 1 lần duy nhất có gì khó khăn đâu? (mất 10 giây)
Nếu như:

Có nghĩa là người gửi file đã gõ sai. Cái này thì buộc bạn phải tự làm lại: gõ lại hoặc dùng công thức để chuyển đổi ---> Vụ này đã nói nhiều lần trên diễn đàn rồi
(Bạn gửi lên 1 file chỉ đúng có 1 dòng dữ liệu nên cũng chẳng biết phải giúp thế nào)

Ý em là không phải chọn từng dòng, vì hàng ngày em phải thao tác phải vài chục file chứ không phải dòng; giả sử em nhận được 1 file bán hàng ghi là bán vào 3/2/2013 làm sao em biết được là ng ta gõ đúng chuẩn k ạh, ng ng gửi cho em lắm; em xin gửi lại biểu như sau: định dang e cần là dd/mm/yyyy

ndu96081631
04-09-13, 04:25 PM
Ý em là không phải chọn từng dòng, vì hàng ngày em phải thao tác phải vài chục file chứ không phải dòng; giả sử em nhận được 1 file bán hàng ghi là bán vào 3/2/2013 làm sao em biết được là ng ta gõ đúng chuẩn k ạh, ng ng gửi cho em lắm; em xin gửi lại biểu như sau: định dang e cần là dd/mm/yyyy

Đã xem file!
Như cell E4 người ta gõ 30/07 (không có năm). Vậy bạn muốn sửa lại thế nào? Tức là "cho" nó thuộc năm mấy?
(còn nhiều cell khác cũng tương tự vậy)

bemy123
04-09-13, 04:33 PM
Đã xem file!
Như cell E4 người ta gõ 30/07 (không có năm). Vậy bạn muốn sửa lại thế nào? Tức là "cho" nó thuộc năm mấy?
(còn nhiều cell khác cũng tương tự vậy)

ô E4 là do ng ta không nhập năm vào, e nghĩ chỉ còn cách "&/2013" mới có đc dạng dd/mm/yyyy; còn các ô có tô màu sẽ trở về định dạng "dd/08/2013", có cách nào biết được là ng ta gõ k đúng chuẩn k anh; vì file này là phát sinh trong tháng 08 nên e biết all là của tháng 08 nhưng có nhiều trường hợp không thể kiểm ra là ngày 2/3 hay là 3/2

hieuxd
04-09-13, 04:47 PM
Ý em là không phải chọn từng dòng, vì hàng ngày em phải thao tác phải vài chục file chứ không phải dòng; giả sử em nhận được 1 file bán hàng ghi là bán vào 3/2/2013 làm sao em biết được là ng ta gõ đúng chuẩn k ạh, ng ng gửi cho em lắm; em xin gửi lại biểu như sau: định dang e cần là dd/mm/yyyy

Số liệu bạn phát sinh trong tháng 8 thì dùng công thức
=DATE(2013;8;IF(K5=8;L5;K5))
Bạn chỉ cần nhận File theo tháng=> biết tháng và biết năm trước rồi nhé
còn cái vụ này thì khó đây 23/10/21013

bemy123
04-09-13, 04:52 PM
Số liệu bạn phát sinh trong tháng 8 thì dùng công thức
=DATE(2013;8;IF(K5=8;L5;K5))
Bạn chỉ cần nhận File theo tháng=> biết tháng và biết năm trước rồi nhé
còn cái vụ này thì khó đây 23/10/21013

Vì file này phát sinh trong tháng 08 nên mình biết nhưng cũng có những file khác k biết đâu mà lần ra bạn àh, vì ngày tháng cứ lộn xộn cả lên

hieuxd
04-09-13, 05:10 PM
Vì file này phát sinh trong tháng 08 nên mình biết nhưng cũng có những file khác k biết đâu mà lần ra bạn àh, vì ngày tháng cứ lộn xộn cả lên
Tốt nhất là bạn hành họ nhập luôn thành 3 cột
Ngay Tháng Năm rồi gửi cho bạn
Sau đó thì gộp vào sẽ dễ hơn
không thì phải hỏi lại họ nhập cho tháng mấy

ndu96081631
04-09-13, 06:59 PM
có cách nào biết được là ng ta gõ k đúng chuẩn k anh
Nếu người ta NHẬP ĐÚNG thì dù máy mình có định dạng kiểu gì nó vẫn cứ.. đúng
Nếu người ta NHẬP TÀO LAO thì như tôi đã nói ở trên: TRỜI CỨU
Ví dụ nhé:
- Máy người ta có Control Panel được thiết lập MM/dd/yyyy ---> Có nghĩa là theo quy định của Windows, họ phải nhập tháng trước ngày sau
- Bây giờ người ta muốn nhập ngày 2 tháng 8, thay vì theo đúng chuẩn của máy là phải nhập số 8 trước, số 2 sau (8/2/2013) họ lại nhập: 2/8/2013
- Vừa nhập xong, Excel lập tức hiểu đây là ngày 8 tháng 2 (chứ hổng phải ngày 2 tháng 8)
- Cell vừa nhập vẫn là ĐÚNG CHUẨN DATE đấy chứ, có điều: THIẾU HIỂU BIẾT, GÂY HẬU QUẢ NGHIÊM TRỌNG ---> Trường hợp này bạn tính sao? Tôi thì.. THUA
- Thà rằng người ta nhập sai và Excel hiểu đó là chuổi thì còn đở, bẳng ngược lại, nhập sai nhưng Excel vẫn tưởng nhập đúng mới là chết người
Vậy nên: Huấn luyện người dùng nhập đúng là điều bạn cần làm

hieuxd
05-09-13, 08:16 AM
Nếu chỉ là lỗi hiển thị từ máy này sang máy khác không đúng ngày tháng năm thì còn giải quyết được
Môn triết học ngày trước học có nói hai lần sai có thể thành một lần đúng
Lần 1: Control Panel được thiết lập MM/dd/yyyy người nhập nhập sai thành kiểu dd/mm/yyyy
Lần 2: File copy về máy bạn hiển thị dạng dd/mm/yyyy , File nhập kiểu dd/mm/yyyy nên bạn chấp nhận một lần sai nữa chuyển Control Panel ở máy bạn thành MM/dd/yyyy => sẽ được ngày tháng năm và Text hiển thị trên máy của bạn giống với hiển thị trên máy của người nhập
Lúc này bạn tách làm 3 cột, Cột 1 là ngày cột 2 là tháng cột 3 là năm
Sau khi tách làm 3 bạn mới dùng hàm Date để thành ngày tháng năm đúng
Điều kiện áp dụng, người nhập nhập đủ 3 phần và nhập theo đúng tư duy là ngày đến tháng rồi đến năm sai khác với trong Control Panel là mm/dd/yyyy
Bước cuối cùng là bạn đổi lại Control Panel ở máy bạn là dd/mm/yyyy

VetMini
05-09-13, 09:16 AM
Tôi đã xem file thứ 2 của bạn (có nhiều dòng dữ liệu).

Thực sự sau khi xem file này, tôi chỉ có thể khuyên bạn 1 trong 2 phương pháp sau:

1. Bảo người nhập làm việc cho tử tế. Nếu cần thì format các cột ngày tháng theo dạng dd-MMM-yyyy. Với dạng này, nhập sai thấy liền.

2. Nếu người nhập không thể nhập cho tử tế thì bạn phải lưu lại tất cả các files này làm bằng chứng về sau. Vì bạn vần chứng mình rằng: kết quả của bạn dựa trên dữ liệu đầu vào. Nguyên tắc của làm việc là "đầu vào rác thì đầu ra cũng rác" (garbage in garbage out). Chỉ cần 1 con số sai thì cả bảng tính có thể đặt dấu hỏi. Bảng tính bạn đưa lên có ít nhất 2 điểm sai rõ rệt và một điểm đáng nghi ngờ (bởi vì nó là text chứ không phải là ngày). Nếu dữ liệu ngày là loại dữ liệu có thể thấy rõ mà đã sai như thế thì các dữ liệu về tiền bạc, mã số có đáng tin cậy không?

Nói chung: bạn làm việc với một nhóm người vô trách nhiệm. Công việc tổng hợp của bạn là một quả bom nổ chậm. Nếu bạn không thể bảo người nhập chuẩn hoá cách thức vào dữ liệu thì bạn nên kiếm việc khác mà làm. Bởi ở lại sẽ có ngày vào tù.

Theo nguyên tắc, Excel trữ dữ liệu ngày bằng một con số. Cho nên bạn theo định dạng gì đi nữa thì con số cũng là như thế.
Ngày 4 tháng 8 năm 2013 được trữ là 41490 trong khi ngày 8 tháng 4 được trữ là 41372. Định dạng chỉ là dòng chữ hiện ra trên ô thôi.