Nhờ hướng dẫn tách chuỗi ký tự nằm giữa hai ký tự /

Liên hệ QC

LinDan

Thành viên tiêu biểu
Tham gia
8/2/12
Bài viết
412
Được thích
111
Điểm
668
Cơ quan em thời gian gần đây phải kê hồ sơ, do trước kia nhập không thống nhất nên giờ muốn kê lại dữ liệu ban đầu phải tách chuỗi kí tự cho thống nhất.

---------
Bài toán của em là tách chuỗi kí tự nằm giữa hai ký tự /. Em cũng đã làm thử ra cách theo file đính kèm, nhưng em có cảm giác nó chưa gọn lắm, nhờ mọi người chỉ thêm để em có điều kiện học hỏi.

Find_zps3a294056.jpg
 

File đính kèm

  • Find.xlsx
    10.1 KB · Đọc: 33
Cơ quan em thời gian gần đây phải kê hồ sơ, do trước kia nhập không thống nhất nên giờ muốn kê lại dữ liệu ban đầu phải tách chuỗi kí tự cho thống nhất.

---------
Bài toán của em là tách chuỗi kí tự nằm giữa hai ký tự /. Em cũng đã làm thử ra cách theo file đính kèm, nhưng em có cảm giác nó chưa gọn lắm, nhờ mọi người chỉ thêm để em có điều kiện học hỏi.

Cách bạn làm cũng được, còn tôi thì thích cách này:
Mã:
=TRIM(MID(SUBSTITUTE(TRIM($A2),"/",REPT(" ",255)),255,255))
Bởi vì nó chẳng bao giờ bị lỗi cho dù không tìm thấy dấu "/" (trong khi cách của bạn phải bẫy lỗi)
 
Cách 1: Chọn cột có dữ liệu cần tách, Chọn menu Data --> Text to Column --> Delimited --> Next --> Trong Frame Delimiter chọn Orther, rồi điền dấu "/" vào đó, --> Next. Nếu hiện lênh cảnh báo thì Ok.
Cách 2: Dùng hàm sau tại B2 = =TRIM(LEFT(TRIM(RIGHT(A2;LEN(A2)-FIND("/";A2)));FIND("/";TRIM(RIGHT(A2;LEN(A2)-FIND("/";A2))))-1)), sau đó Copy xuống.
 
Cơ quan em thời gian gần đây phải kê hồ sơ, do trước kia nhập không thống nhất nên giờ muốn kê lại dữ liệu ban đầu phải tách chuỗi kí tự cho thống nhất.

---------
Bài toán của em là tách chuỗi kí tự nằm giữa hai ký tự /. Em cũng đã làm thử ra cách theo file đính kèm, nhưng em có cảm giác nó chưa gọn lắm, nhờ mọi người chỉ thêm để em có điều kiện học hỏi.

Find_zps3a294056.jpg

em làm thêm một cách trong file, Anh(Chị) thử tham khảo xem
 

File đính kèm

  • Copy of Find.xlsx
    9.8 KB · Đọc: 15
Bạn dùng thử 1 cách khác ở ô C2 như sau:
Mã:
=TRIM(MID(SUBSTITUTE(A3,"/",REPT(" ",255)),LEN(A3),255))
 
Bạn dùng thử 1 cách khác ở ô C2 như sau:
Mã:
=TRIM(MID(SUBSTITUTE(A2,"/",REPT(" ",255)),255,255))
Hic, gửi chậm rồi, xin mod xóa giùm bài
 
Bạn dùng thử 1 cách khác ở ô C2 như sau:
Mã:
=TRIM(MID(SUBSTITUTE(A2,"/",REPT(" ",255)),255,255))
Hic, gửi chậm rồi, xin mod xóa giùm bài

Nếu không TRIM cho A2 trước thì kết quả sẽ sai trong trường hợp 2 đầu chuổi có khoảng trắng nhé
 
Cách bạn làm cũng được, còn tôi thì thích cách này:
Mã:
=TRIM(MID(SUBSTITUTE(TRIM($A2),"/",REPT(" ",255)),255,255))
Bởi vì nó chẳng bao giờ bị lỗi cho dù không tìm thấy dấu "/" (trong khi cách của bạn phải bẫy lỗi)

Thưa thày, làm theo cách này "lỡ" tổng số kí tự của chuỗi trước ký tự / đầu tiên lớn hơn (>255) thì sao ah?

(sao mình không sửa 255 thành số rất lớn như 1000... có phải chắc ăn không?)
 
Thưa thày, làm theo cách này "lỡ" tổng số kí tự của chuỗi trước ký tự / đầu tiên lớn hơn (>255) thì sao ah?

(sao mình không sửa 255 thành số rất lớn như 1000... có phải chắc ăn không?)[/

Thầy trả lời cho em câu hỏi mà Anh(Chị) thắc mắc đây, có thể tham khảo, hihi.Em cũng thắc mắc hoài vấn đề này đó ạ...nhưng giờ thì tin rằng 255 ký tự trong 1 cell chắc chắn yên tâm để kéo công thức
Còn số 255, chẳng qua vì ta tin rằng chẳng ai gõ 1 chuổi dài đến 255 ký tự trong 1 cell nên chọn số 255 luôn
Đương nhiên, bạn có thể thay 255 thành bất kỳ số nào, miễn số đó lớn hơn chiều dài của chuổi trong cell là được
 
Thưa thày, làm theo cách này "lỡ" tổng số kí tự của chuỗi trước ký tự / đầu tiên lớn hơn (>255) thì sao ah?

(sao mình không sửa 255 thành số rất lớn như 1000... có phải chắc ăn không?)

Thay 255 thành Len($A2) cũng rất chắc ăn... chẳng qua là tôi... làm biếng thôi
 
Web KT
Back
Top Bottom