Nhờ các thầy giúp hộ mình hàm tách ngày tháng trong chuỗi !

Liên hệ QC

khocthet296

Thành viên mới
Tham gia
13/6/11
Bài viết
12
Được thích
2
Xin nhờ các thầy chỉ giáo hộ mình 1 hàm tách ngày tháng trong chuỗi được phân biệt bởi dấu "_" 2 đầu ngày tháng trong 1 chuỗi.
ví dụ như abcd_08/07/2011_xyz. mình cần lấy ra đoạn chuỗi chứa ngày tháng năm.
có ví dụ trong file đính kèm.

Xin cám ơn các thầy rất nhiều.
 

File đính kèm

  • TACH LAY NGAY.xls
    15 KB · Đọc: 194
Xin nhờ các thầy chỉ giáo hộ mình 1 hàm tách ngày tháng trong chuỗi được phân biệt bởi dấu "_" 2 đầu ngày tháng trong 1 chuỗi.
ví dụ như abcd_08/07/2011_xyz. mình cần lấy ra đoạn chuỗi chứa ngày tháng năm.
có ví dụ trong file đính kèm.

Xin cám ơn các thầy

Nếu độ dài chuỗi không cố định, dùng cái này nhé:
Mã:
=--MID(A1,FIND("_",A1,1)+1,FIND("_",A1,FIND("_",A1,1)+1)-FIND("_",A1,1)-1)
 
Lần chỉnh sửa cuối:
Xin nhờ các thầy chỉ giáo hộ mình 1 hàm tách ngày tháng trong chuỗi được phân biệt bởi dấu "_" 2 đầu ngày tháng trong 1 chuỗi.
ví dụ như abcd_08/07/2011_xyz. mình cần lấy ra đoạn chuỗi chứa ngày tháng năm.
có ví dụ trong file đính kèm.

Xin cám ơn các thầy rất nhiều.
Nếu dữ liêu luôn có cấu trúc như trong file, tức:
xxx_dd/mm/yyyy_hh:mm:ss thì công thức tại B1 sẽ là
PHP:
=DATE(MID(A1,11,4),MID(A1,8,2),MID(A1,5,2))
Còn cái này:
Dùng cái này nhé:
Mã:
=--MID(A1,FIND("_",A1,1)+1,FIND("_",A1,FIND("_",A1,1)+1)-FIND("_",A1,1)-1)
Chắc chắn sẽ sai trên 1 số máy tính nào đó mà Control Panel không định dạng theo dd/mm/yyyy
 
Xin nhờ các thầy chỉ giáo hộ mình 1 hàm tách ngày tháng trong chuỗi được phân biệt bởi dấu "_" 2 đầu ngày tháng trong 1 chuỗi.
ví dụ như abcd_08/07/2011_xyz. mình cần lấy ra đoạn chuỗi chứa ngày tháng năm.
có ví dụ trong file đính kèm.

Xin cám ơn các thầy rất nhiều.
Bài này không cần dùng hàm tự tạo đâu bạn, chỉ cần sử dụng hàm sẵn có của Excel thôi. Chẳng hạn có thể dùng 1 trong 2 công thức sau cho hàng 1, sau đó định dạng lại cách hiển thị:
Mã:
=DATEVALUE(MID(A1,FIND("_",A1)+1,10))
=MID(A1,FIND("_",A1)+1,10)*1
hoặc tổng quát hơn (cho trường hợp ngày không nhập đủ dạng dd/MM/yyyy hoặc MM/dd/yyyy):
Mã:
=DATEVALUE(MID(A1,FIND("_",A1)+1,FIND("_",A1,FIND("_",A1)+1)-FIND("_",A1)-1))
=MID(A1,FIND("_",A1)+1,FIND("_",A1,FIND("_",A1)+1)-FIND("_",A1)-1)*1
Tuy nhiên, mình cũng còn vướng một vấn đề nữa là: Có công thức nào luôn cho kết quả đúng mà không phụ thuộc vào thiết lập ngày tháng trong Control Panel không? Chẳng hạn, công thức trên chỉ cho kết quả đúng nếu dữ liệu được nhập trên file và thiết lập ngày tháng trong Control Panel đều có dạng dd/MM/yyyy hoặc MM/dd/yyyy.
 
Xem file đính kèm nhé!
 

File đính kèm

  • TACH LAY NGAY.xls
    17.5 KB · Đọc: 195
Bài sai BOX

Như các bạn trước trả lời thì bài của chúng ta lập sai BOX rồi;

Thứ nữa, thời giờ trong chuỗi chưa khẳng định 01 cách chắc chắn là theo hệ Mẽo hay hệ Fáp đó bạn nha!

--=0 --=0 --=0
 
Tuy nhiên, mình cũng còn vướng một vấn đề nữa là: Có công thức nào luôn cho kết quả đúng mà không phụ thuộc vào thiết lập ngày tháng trong Control Panel không? Chẳng hạn, công thức trên chỉ cho kết quả đúng nếu dữ liệu được nhập trên file và thiết lập ngày tháng trong Control Panel đều có dạng dd/MM/yyyy hoặc MM/dd/yyyy.
Công thức đúng nhất là công thức dùng hàm DATE
 
rất cảm ơn các thầy đã giúp đỡ :D
 
Nếu dữ liêu luôn có cấu trúc như trong file, tức:
xxx_dd/mm/yyyy_hh:mm:ss thì công thức tại B1 sẽ là
PHP:
=DATE(MID(A1,11,4),MID(A1,8,2),MID(A1,5,2))
Còn cái này:

Chắc chắn sẽ sai trên 1 số máy tính nào đó mà Control Panel không định dạng theo dd/mm/yyyy
Nếu dữ liệu có cấu trúc : *_dd/mm/yyyy_hh:mm:ss
Không biết ndu có chiêu nào gọn hơn thế này không nhỉ? Công thức "tành bành" luôn không xài Name nhé.
PHP:
=DATE(MID(A1;FIND("_";A1)+7;4);MID(A1;FIND("_";A1)+4;2);MID(A1;FIND("_";A1)+1;2))
Tôi thật sự muốn học hỏi chứ không có ý khác, nếu lấy ra 1 chuỗi text thì dễ rồi.
 
Nếu dữ liệu có cấu trúc : *_dd/mm/yyyy_hh:mm:ss
Không biết ndu có chiêu nào gọn hơn thế này không nhỉ? Công thức "tành bành" luôn không xài Name nhé.
PHP:
=DATE(MID(A1;FIND("_";A1)+7;4);MID(A1;FIND("_";A1)+4;2);MID(A1;FIND("_";A1)+1;2))
Tôi thật sự muốn học hỏi chứ không có ý khác, nếu lấy ra 1 chuỗi text thì dễ rồi.
Vậy là ổn rồi ---> Dù gì thì ta cũng sẽ dùng 1 trong 2 cách sau đây:
- Dùng hàm Date với các thông số Year, Month, Day
- Tách và ghép chuổi theo cú pháp yyyy & "/" & mm & "/" & dd rồi nhân chuổi này với số 1
 
Áp dụng với bài này sao mình không thử dùng Text To Columns
 
Còn nếu ngày tháng năm dính liền thì làm thế nào mọi người. ví dụ 02102012 cần đổi ra 02/10/2012. Cần gấp gấp. Cảm ơn!
 
cuslàm đc rồi. haha. Bôi đen cột đó chuột phải> Format cell >Spieal>social security number .
Chọn thẻ Custom> sửa lại thành 00-00-0000 hoặc j tỳ thích. OK
Thành công rồi!
 
Mình dung công thức sau vẫn cho kết quả đúng khi thay đổi format date trong Control panel. Các bạn test giùm xen sao:

=MID(A2,FIND("_",A2,1)+1,10)*1
 
Web KT
Back
Top Bottom