Những bài viết về Định dạng giờ, ngày, tháng, năm được post ở đây

Liên hệ QC
Giả sử A1 chứa chuỗi:
Cách 1:
Mã:
=DATE(--MID(A1,5,4),MID(A1,3,2),1)
Format dạng mm/yyyy.
Cách 2:
Mã:
=TEXT(DATE(--MID(A1,5,4),MID(A1,3,2),1),"mm/yyyy")
không cần format dạng date
 
định dạng ngày:giờ:phút:giây

Mình muốn định dạng một ô cell dạng ngày:giờ:phút:giây thì làm thế nào?
VD: thời gian thực hiện công việc là 15 ngày, 23 giờ, 50 phút 30 giây thì dữ liệu trong cell là 15:23:50:30.

nếu định dạng cell là hh:mm:ss, khi nhập vào 40 giờ, 20 phút 20 giây sẽ thành 01/01/1900 16:20:20, mình muốn nó hiện 40:20:20 có được không?

Bạn nào biết chỉ cho mình với!
 
Lần chỉnh sửa cuối:
Hỏng biết bạn làm gì với nó, nhưng nếu bạn gõ là 15/10/2012 23:50:30 tại một ô bất kỳ, thì khi định dạng bạn chỉ cần gõ vào type là: dd:hh:mm:ss như vậy là ổn.
 
Hỏng biết bạn làm gì với nó, nhưng nếu bạn gõ là 15/10/2012 23:50:30 tại một ô bất kỳ, thì khi định dạng bạn chỉ cần gõ vào type là: dd:hh:mm:ss như vậy là ổn.

ý mình muốn thể hiện thời gian để hoàn thành công việc chứ không phải ngày tháng năm,
thời gian thực hiện công việc là 15 ngày, 23 giờ, 50 phút 30 giây
 
ý mình muốn thể hiện thời gian để hoàn thành công việc chứ không phải ngày tháng năm,
thời gian thực hiện công việc là 15 ngày, 23 giờ, 50 phút 30 giây

Thế bạn gõ trong Excel như thế nào?

Đừng có ngày tham gia thì cấu trúc là vầy: [h]:mm:ss;@
 
Lần chỉnh sửa cuối:
Thế bạn gõ trong Excel như thế nào?

Đừng có ngày tham gia thì cấu trúc là vầy: [h]:mm:ss;@

mình muốn gõ như thế này: 15:23:50:30. giải pháp tạm thời của mình bây giờ là tách ngày sang cột khác:
- cell A1 nhập 15
- Cell B1 nhập 23:50:30
nhưng thế này thì dữ liệu lại thêm mất 1 cột.

cấu trúc: [h]:mm:ss;@ đúng ý của mình rồi, cám ơn bác nhiều.
 
mình muốn gõ như thế này: 15:23:50:30. giải pháp tạm thời của mình bây giờ là tách ngày sang cột khác:
- cell A1 nhập 15
- Cell B1 nhập 23:50:30
nhưng thế này thì dữ liệu lại thêm mất 1 cột.

cấu trúc: [h]:mm:ss;@ đúng ý của mình rồi, cám ơn bác nhiều.

Tôi không biết có còn cấu trúc nào khác hơn nữa không, chứ đã tính theo giờ là giờ, ngày là ngày.

Nếu bạn tính theo giờ thì chỉ có nước lấy 15*24=360 giờ, lại cộng thêm 23 giờ nữa thì có thể gõ 383:50:30 thôi.
 
Định dạng text và ngày lẫn lộn

Hi!
Mình chạy chương trình FOX được file CSDL (.dbf). Tuy nhiên, khi mở file này bằng excel 2007 thì có máy tính thể hiện được toàn bộ định ngày ở trường ngày tháng nhưng có máy tính mở file đó thì vừa có định dạng ngày, vừa định dạng text ở trường ngày tháng. Trong đó định dạng text có dạng yyyymmdd. Cả hai máy tính đều chỉnh định dạng dd/mm/yyyy ở Control Panel.
Mình kiểm tra thì thấy đặc điểm nếu ngày mà lớn hơn 12 thì bản ghi sẽ có dạng text trên nhưng dưới 12 sẽ ra định dạng dd/mm/yyyy.
Sư phụ nào biết xin chỉ giáo giúp. Tks!
 
Lần chỉnh sửa cuối:
Hi!
Mình chạy chương trình FOX được file CSDL (.dbf). Tuy nhiên, khi mở file này bằng excel 2007 thì có máy tính thể hiện được toàn bộ định ngày ở trường ngày tháng nhưng có máy tính mở file đó thì vừa có định dạng ngày, vừa định dạng text ở trường ngày tháng. Trong đó định dạng text có dạng yyyymmdd. Cả hai máy tính đều chỉnh định dạng dd/mm/yyyy ở Control Panel.
Mình kiểm tra thì thấy đặc điểm nếu ngày mà lớn hơn 12 thì bản ghi sẽ có dạng text trên nhưng dưới 12 sẽ ra định dạng dd/mm/yyyy.
Sư phụ nào biết xin chỉ giáo giúp. Tks!

Có fải giống như trong File kg?
 

File đính kèm

  • Date.xls
    15.5 KB · Đọc: 21
Trước tiên mình xin cảm ơn đã quan tâm trả lời.
File .dbf mở bằng excel 2007 có máy tính mở file thì hiện ra cột ngày tháng có định dạng dd/mm/yyyy. Nhưng có máy tính mở file đó thì cột ngày tháng hiện ra vừa có dd/mm/yyyy và yyyymmdd. Trong đó dd khi lớn hơn 12.
Mình đính kèm file.
 

File đính kèm

  • DHTHANG.xlsx
    11.4 KB · Đọc: 12
Trước tiên mình xin cảm ơn đã quan tâm trả lời.
File .dbf mở bằng excel 2007 có máy tính mở file thì hiện ra cột ngày tháng có định dạng dd/mm/yyyy. Nhưng có máy tính mở file đó thì cột ngày tháng hiện ra vừa có dd/mm/yyyy và yyyymmdd. Trong đó dd khi lớn hơn 12.
Mình đính kèm file.

Đó không phải do file mà do định dạng trong Region & Languae trong Control Panel, bạn kiểm tra tại từng máy nhé!
 
Mình đã kiểm tra định dạng trong Control Panel (region &Language) rồi, hai máy tính đều giống nhau. Khi mở 1 file ở một máy tính mà vừa có định dạng date và text trong cùng 1 cột thì mình chưa gặp bao giờ. Nếu toàn bộ định dạng text hoặc date thì có thể hiểu là do 2 máy tính không được cài đặt trong Control Panel.
 
Trước tiên mình xin cảm ơn đã quan tâm trả lời.
File .dbf mở bằng excel 2007 có máy tính mở file thì hiện ra cột ngày tháng có định dạng dd/mm/yyyy. Nhưng có máy tính mở file đó thì cột ngày tháng hiện ra vừa có dd/mm/yyyy và yyyymmdd. Trong đó dd khi lớn hơn 12.
Mình đính kèm file.
Nếu không "làm biếng" thì tạm làm như vầy đi, lập công thức 1 cột phụ, chuyển mấy ô text thành Date, rồi muốn làm gì đó thì làm.
Nhận dạng: Mặc định Text nằm lề trái, Date nằm lề phải.
Nếu dữ liệu lớn, dùng VBA xử nó.
 

File đính kèm

  • Text_Date.JPG
    Text_Date.JPG
    53.9 KB · Đọc: 62
Trước tiên mình xin cảm ơn đã quan tâm trả lời.
File .dbf mở bằng excel 2007 có máy tính mở file thì hiện ra cột ngày tháng có định dạng dd/mm/yyyy. Nhưng có máy tính mở file đó thì cột ngày tháng hiện ra vừa có dd/mm/yyyy và yyyymmdd. Trong đó dd khi lớn hơn 12.
Mình đính kèm file.

Dùng cthức này tại B2
PHP:
=IF(T(A2)<>"";DATE(LEFT(A2;4)*1;MID(A2;5;2)*1;RIGHT(A2;2)*1);A2)
Fill cthức xuống, Copy từ B2 trở xuống rồi PasteValue sang A2
 
Nếu không "làm biếng" thì tạm làm như vầy đi, lập công thức 1 cột phụ, chuyển mấy ô text thành Date, rồi muốn làm gì đó thì làm.
Nhận dạng: Mặc định Text nằm lề trái, Date nằm lề phải.
Nếu dữ liệu lớn, dùng VBA xử nó.

Anh dùng công thức:
Mã:
=IF(ISTEXT(A2),DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2)),A2)
Rất may mắn là chuổi được sắp xếp theo dạng yyyymmdd nên em thấy vầy cũng được luôn:
Mã:
=IF(ISTEXT(A2),TEXT(A2,"0000-00-00")*1,A2)
Hoặc:
Mã:
=IF(A2*1>10^5,TEXT(A2,"0000-00-00")*1,A2)
Ẹc... Ẹc...
 
Lần chỉnh sửa cuối:
Ok, cách xử lý như vậy là tạm ổn, nhưng mình vẫn không hiểu vì sao khi mở file .dbf đố thì có máy tính hiện ra cột ngày tháng có dạng dd/mm/yyyy ở tất cả các dòng chứ không phải vừa text và vừa dạng date như file ví dụ của mình. Có ai hiểu được nguyên nhân vì sao không, giải thích giùm mình với.
 
Nếu không "làm biếng" thì tạm làm như vầy đi, lập công thức 1 cột phụ, chuyển mấy ô text thành Date, rồi muốn làm gì đó thì làm.
Nhận dạng: Mặc định Text nằm lề trái, Date nằm lề phải.
B2 =IF(ISTEXT(A2),DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2)),A2) Nếu dữ liệu lớn, dùng VBA xử nó.

Theo kinh nghiệm của tôi, một khi dữ liệu ngày tháng từ nguồn ngoài Excel đưa vào Excel, nếu không giống thiết lập control panel dd/mm/yyyy và mm/dd/yyyy thì sẽ bị lỗi như sau:
Ngày bị hiểu là tháng, ngày lớn hơn 12 thì bị coi là text.
Nhưng ít người nhớ rằng ngày nhỏ hơn 13, không bị biến thành text, nhưng ngày vẫn bị coi là tháng: 12 tháng 3 bị thành 3 tháng 12.

Vậy khi chuyển đổi text thành ngày tháng thì đồng thời cũng phải chuyển đổi những ô không phải text thành ngày đúng bằng cách đổi tháng trở lại thành ngày:

B2 =IF(ISTEXT(A2),TEXT(A2,"0000-00-00")*1,DATE(YEAR(A2,DAY(A2),MONTH(A2)))
 
Lần chỉnh sửa cuối:
Các bạn cho mình hỏi mình gỏ công thức =" c412"&MONTH(E3)&DAY(E3) , ở E3 mình gỏ ngày 2/3 kết quả cho ra
c41232 trong khi mình muốn nó ra c4120302 nghĩa là các tháng,ngày từ 1 đến 9 phải có thêm số 0. Nhờ các bạn giúp mình nhé
 
Web KT
Back
Top Bottom