Dùng hàm gì để tách ngày tháng năm ra khỏi tên văn bản

Liên hệ QC

Dauthivan

Thành viên tiêu biểu
Tham gia
15/8/08
Bài viết
565
Được thích
327
Em muốn tách riêng ngày tháng năm ra khỏi tên văn bản để cho tiện việc sắp xếp, xử lý. Ví dụ: 38/QĐ-NHNN&PTNT ngày 3/02/2010 thì kết quả cột bên cạnh là 03/02/2010, 12/2007/BXD ngày 9/4/2009 thì kết quả ô bên cạnh là 09/4/2009. Kính đề nghị các anh, chị giúp đỡ em với. Em xin gửi File đính kèm theo
 

File đính kèm

Em muốn tách riêng ngày tháng năm ra khỏi tên văn bản để cho tiện việc sắp xếp, xử lý. Ví dụ: 38/QĐ-NHNN&PTNT ngày 3/02/2010 thì kết quả cột bên cạnh là 03/02/2010, 12/2007/BXD ngày 9/4/2009 thì kết quả ô bên cạnh là 09/4/2009. Kính đề nghị các anh, chị giúp đỡ em với. Em xin gửi File đính kèm theo
Nếu ngày luôn nằm ở cuối của chuỗi gốc thì bạn có thể sử dụng công thức sau cho ô C4, định dạng cho ô này là dd/MM/yyyy và fill cho phần còn lại:
=MID(B4,FIND("ngµy",B4)+5,LEN(B4))*1
 
Lần chỉnh sửa cuối:
Rất cảm ơn bác, đúng ý em rồi ah, vậy bác cho em hỏi thêm tình huống nếu ngày tháng năm nó không nằm ở cuối mà nằm ở giữa hay vị trí bất kỳ thì làm thế nào ah?
 
Rất cảm ơn bác, đúng ý em rồi ah, vậy bác cho em hỏi thêm tình huống nếu ngày tháng năm nó không nằm ở cuối mà nằm ở giữa hay vị trí bất kỳ thì làm thế nào ah?
Bạn cứ đưa ví dụ 1 cách tổng quát nhất lên đây đi
 
Dạ đây ah, mong thày giúp cho
Công thức cho C4:
PHP:
=TRIM(LEFT(SUBSTITUTE(TRIM(MID($B4,FIND("ngµy",$B4)+4,LEN($B4)))," ",REPT(" ",LEN($B4))),LEN($B4)))
Nguyên tắc dò tìm: Tìm chữ "Ngày" đầu tiên lấy đến khoảng trắng sau ngày tháng ---> Vậy nếu chuổi hổng có chũ "Ngày" này thì xem như.. toi
 
Công thức cho C4:
Nguyên tắc dò tìm: Tìm chữ "Ngày" đầu tiên lấy đến khoảng trắng sau ngày tháng ---> Vậy nếu chuổi hổng có chũ "Ngày" này thì xem như.. toi

Cảm ơn thày, trình độ của thày đúng là danh bất hư truyền. Mỗi bài bao giờ thày cũng tìm Test rất cẩn thận, tìm ra phương pháp nào tối ưu nhất.
Hôm nọ em có đọc trên diễn đàn, em được biết thày công tác trong lĩnh vực sản xuất; em chắc chắn rằng người cẩn thận như thày chắc chắn ngoài sự sáng tạo ra thì thày cũng rất cẩn thận trong công việc.
Vấn đề em muốn được thày chỉ giáo, chia sẻ cho em một vấn đề tưởng như đơn giản mà em không làm nỗi, đó là phương pháp nghiên cứu: mỗi ngày thày thường bỏ ra mấy tiếng và cách nghiên cứu thế nào ah?để nghiên cứu nó trong khi vẫn hoàn thành xuất sắc công việc thường ngày (công việc của em hằng ngày cứ bộn bề, chưa kể việc gia đình, quả thực là em thích Excel lắm, muốn trang bị kiến thức GPE mà không biết phải làm sao bố trí được thời gian thày ah).
 
Cảm ơn thày, trình độ của thày đúng là danh bất hư truyền. Mỗi bài bao giờ thày cũng tìm Test rất cẩn thận, tìm ra phương pháp nào tối ưu nhất.
Hôm nọ em có đọc trên diễn đàn, em được biết thày công tác trong lĩnh vực sản xuất; em chắc chắn rằng người cẩn thận như thày chắc chắn ngoài sự sáng tạo ra thì thày cũng rất cẩn thận trong công việc.
Vấn đề em muốn được thày chỉ giáo, chia sẻ cho em một vấn đề tưởng như đơn giản mà em không làm nỗi, đó là phương pháp nghiên cứu: mỗi ngày thày thường bỏ ra mấy tiếng và cách nghiên cứu thế nào ah?để nghiên cứu nó trong khi vẫn hoàn thành xuất sắc công việc thường ngày (công việc của em hằng ngày cứ bộn bề, chưa kể việc gia đình, quả thực là em thích Excel lắm, muốn trang bị kiến thức GPE mà không biết phải làm sao bố trí được thời gian thày ah).
Nếu nói ra thì.. chắc dài dòng lắm... nhưng tôi có thể nói 1 câu ngắn gọn mà tin chắc rằng ai cũng đồng ý: "Cái gì mình đam mê thì mình sẽ thấy không cực nhọc và cũng không thấy mất thời gian"
 
Nếu nói ra thì.. chắc dài dòng lắm... nhưng tôi có thể nói 1 câu ngắn gọn mà tin chắc rằng ai cũng đồng ý: "Cái gì mình đam mê thì mình sẽ thấy không cực nhọc và cũng không thấy mất thời gian"
Nhưng nếu như em mà nghiên cứu GPE là em lại chểnh công việc ở cơ quan? em muốn hỏi ở cơ quan, thày thường nghiên cứu GPE vào:
- Bất cứ lúc nào có thể khi công việc cơ quan đã hoàn tất.
- Buổi trưa lúc nghỉ ngơi.
...
Em xin hỏi thêm nếu sau một thời gian tất cả CT Excel, công thức mảng đã tương đối thành thạo thì việc chuyển sang VBA có mất nhiều thời gian không ah?
 
Nhưng nếu như em mà nghiên cứu GPE là em lại chểnh công việc ở cơ quan? em muốn hỏi ở cơ quan, thày thường nghiên cứu GPE vào:
- Bất cứ lúc nào có thể khi công việc cơ quan đã hoàn tất.
- Buổi trưa lúc nghỉ ngơi.
...
Em xin hỏi thêm nếu sau một thời gian tất cả CT Excel, công thức mảng đã tương đối thành thạo thì việc chuyển sang VBA có mất nhiều thời gian không ah?
Ẹc... ẹc... nói ra cũng... buồn cười... Tôi nghiên cứu bất cứ khi nào tôi cảm thấy hứng, ngay cả khi đang làm việc. Có sao đâu chứ. Nghiên cứu đôi khi cũng ứng dụng được cho tình huống thực tế ở cơ quan mà
--------------------
Còn cái chuyện VBA thì.. bạn cứ nghiên cứu khi nào bạn cảm thấy thích, đâu nhất thiết phải thật thành thạo công thức mảng gì gì đó ---> Công thức hay VBA gì thì mọi thứ cũng liên quan đến thuật toán (suy luận)... Có sự suy luận tốt thì dù là công thức hay VBA, bạn cũng thấy nó.. khó (hoặc dễ) bằng nhau mà thôi
Chẳng biết nói sao nữa... LÀM CÁI MÌNH THÍCH LÀ SUNG SƯỚNG NHẤT...
 
Nếu cột B ghi là tháng 9/2010 (K có ngày) thì cột C sẽ là ngày 1/9/2010

Đôi khi hồ sơ thanh toán của em nó đóng thành quyển bao gồm rất nhiều giấy tờ trong đó, bên ngoài chỉ ghi chung ví dụ tháng 2/2010 thì làm sao cột bên cạnh hiện là ngày 01/02/2010 ah (em xin gửi file đính kèm) xin được giúp đỡ.
 

File đính kèm

Nếu ngày luôn nằm ở cuối của chuỗi gốc thì bạn có thể sử dụng công thức sau cho ô C4, định dạng cho ô này là dd/MM/yyyy và fill cho phần còn lại:
=MID(B4,FIND("ngµy",B4)+5,LEN(B4))*1
Em thấy chỉ cần công thức MID(B4,FIND("ngµy",B4)+5,LEN(B4)) là đủ, không cần nhân với 1 đâu.
Nếu rút gọn xuống còn MID(B4,FIND("ngµy",B4)+5,10) thì sẽ chạy nhanh hơn (nếu dữ liệu lớn vì không phải mất công thực hiện đếm LEN(B4))
 
Công thức cho C4:
PHP:
=TRIM(LEFT(SUBSTITUTE(TRIM(MID($B4,FIND("ngµy",$B4)+4,LEN($B4)))," ",REPT(" ",LEN($B4))),LEN($B4)))
Mong thầy ndu hay các anh chị giải thích giùm. Sao em viết công thức như trên mà nó ra như trong file chứ không ra vậy ngày tháng cần tách ra trong chuỗi?
 

File đính kèm

Lần chỉnh sửa cuối:
Em thấy chỉ cần công thức MID(B4,FIND("ngµy",B4)+5,LEN(B4)) là đủ, không cần nhân với 1 đâu.
Nếu rút gọn xuống còn MID(B4,FIND("ngµy",B4)+5,10) thì sẽ chạy nhanh hơn (nếu dữ liệu lớn vì không phải mất công thực hiện đếm LEN(B4))
Về chỗ LEN(B4) thay bởi 10, mình hoàn toàn đồng ý với bạn. Thực ra thì sau khi gửi bài trên, mình cũng đã nghĩ đến nó nhưng mà thôi ... "lơ" luôn.
Còn chỗ công thức cần hay không cần nhân với 1 thì mình nghĩ nếu không nhân với 1 thì kết quả chỉ là một chuỗi chứ không phải là một ngày thực sự. Nếu mình muốn hiển thị kết quả ở một số định dạng khác nhau (dd/MM/yyyy, dd-MM-yy,...) thì nhân với 1 sẽ thuận tiện hơn.
 
Mong thầy ndu hay các anh chị giải thích giùm. Sao em viết công thức như trên mà nó ra như trong file chứ không ra vậy ngày tháng cần tách ra trong chuỗi?
Không hiểu sao mà trong công thức của bạn (bạn gõ hay copy-paste từ công thức của anh ndu), chỗ " ", thay vì một ký tự trắng (mã 32) thì trong công thức của bạn lại là một ký tự "ô vuông" có mã 160. Bạn thêm một dấu nháy đơn vào đầu công thức sẽ thấy điều này.
Tóm lại là: Nhấn F2 để sửa công thức --> Chọn chỗ " ", sửa thành dấu cách (2 vị trí) là được.
 
Web KT

Bài viết mới nhất

Back
Top Bottom