Giúp em công thức tách chuỗi (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Tôi tuân thủ nội quy khi đăng bài

Lưu Diệc Phi

Thành viên mới
Tham gia
16/3/23
Bài viết
31
Được thích
1
Trong file đính kèm em muốn tách chuỗi từ cột F sang cột G với kết quả như trong file, nhờ mọi người giúp em công thức với ạ (vì file nhiều dữ liệu nên em không thể dùng flash fill được), mong mọi người thông cảm. Em cảm ơn nhiều
 

File đính kèm

Trong file đính kèm em muốn tách chuỗi từ cột F sang cột G với kết quả như trong file, nhờ mọi người giúp em công thức với ạ (vì file nhiều dữ liệu nên em không thể dùng flash fill được), mong mọi người thông cảm. Em cảm ơn nhiều
Bạn xem thử. . .
 

File đính kèm

Thử xem được không nhe.
Mã:
=LEFT(MID(F4,FIND("U",F4)+1,15),FIND("-",MID(F4,FIND("U",F4)+1,15),1)-1)
 
Bạn thử cách này xem được không nhé:
=IFERROR(MID((MID(F4,SEARCH("U",F4),15)),SEARCH("-",MID(F4,SEARCH("U",F4),15))-2,2),"")
 
Nếu Excel phiên bản mới thì có thể thử thêm cách này:
=IFERROR(IF(LEN(TEXTBEFORE(TEXTAFTER(F4,"U"),"-"))=2,TEXTBEFORE(TEXTAFTER(F4,"U"),"-"),RIGHT(TEXTBEFORE(TEXTAFTER(F4,"U"),"-"),2)),"")
 
Nếu Excel phiên bản mới thì có thể thử thêm cách này:
=IFERROR(IF(LEN(TEXTBEFORE(TEXTAFTER(F4,"U"),"-"))=2,TEXTBEFORE(TEXTAFTER(F4,"U"),"-"),RIGHT(TEXTBEFORE(TEXTAFTER(F4,"U"),"-"),2)),"")
Có vẻ như phiên bản mới công thức còn dài hơn cả phiên bản cũ nhỉ.
 
Bạn thử nhé . . .
Mã:
=MID(F4,find("U",F4)+1,FIND("-",F4,find("U",F4))-find("U",F4)-1)
 
Trong file đính kèm em muốn tách chuỗi từ cột F sang cột G với kết quả như trong file, nhờ mọi người giúp em công thức với ạ (vì file nhiều dữ liệu nên em không thể dùng flash fill được), mong mọi người thông cảm. Em cảm ơn nhiều
Thử này xem nhe!!!
=LEFT(TRIM(MID(SUBSTITUTE(TRIM($F4),"U",REPT(" ",LEN($F4))),1+(COLUMNS($F:G)-1)*LEN($F4),LEN($F4))),SEARCH("-",TRIM(MID(SUBSTITUTE(TRIM($F4),"U",REPT(" ",LEN($F4))),1+(COLUMNS($F:G)-1)*LEN($F4),LEN($F4))),1)-1)
 
Chắc ít ai sử dụng cái dài hơn trừ khi nhanh hơn mà phiên bản mới đâu phải ai cũng có để dùng.
Tại người viết chỉ biết dùng hàm mới nhừng không biết hm Let.
MS ra hàm Let để giải quyết trường hợp công thức có nhiều phần lặp lại, rất hiệu qủa vì với Let, các phần lặp lại này chỉ tính 1 lân.
 
Trong file đính kèm em muốn tách chuỗi từ cột F sang cột G với kết quả như trong file, nhờ mọi người giúp em công thức với ạ (vì file nhiều dữ liệu nên em không thể dùng flash fill được), mong mọi người thông cảm. Em cảm ơn nhiều
Cách khác . . .
Mã:
=TEXT(AGGREGATE(14,6,--MID(F4,FIND("U",F4)+1,{2,3}),1),"00")
 
Trong file đính kèm em muốn tách chuỗi từ cột F sang cột G với kết quả như trong file, nhờ mọi người giúp em công thức với ạ (vì file nhiều dữ liệu nên em không thể dùng flash fill được), mong mọi người thông cảm. Em cảm ơn nhiều
Chủ đề đã lâu nhưng rất nhiều người cần. Mình cũng hay sử dụng việc phân tích chuỗi nên góp thêm 1 công thức cho nó đa dạng:
=MID(F4,SEARCH("-",F4,FIND("U",F4))-2,2)
 
Lấy 2 số hay nhiều số hơn vẫn ok
=TEXT(MID(F4,SEARCH("U",F4)+1,SEARCH("-",F4,SEARCH("U",F4))-SEARCH("U",F4)-1),"00")
 
Dài hơn nhiều hàm đã có ở trên.
Nếu năm nay là 2020 thì không nói làm gì. Bi giờ đã 5 năm, những người làm việc với dữ liệu rắc rối thì cũng tự biết học những công cụ mới (power Query) để thanh toán chúng. Nếu PQ có quá khả năng thì nên bỏ tiền nâng cấp phiên bản để làm việc.

Phiên bản 365 có những hàm text mới áp dụng rõ và khỏe hơn.
Theo dữ liệu bài này thì chỉ cần một hàm TextAfter ("U") gói bên trong TextBefore ("-")
Nếu phiêu lưu hơn một chút thì dùng RegexExtract.

Lưu ý: phiên bản 365 theo chiều hướng mảng động và có nhiều hàm trực tiếp làm việc với chuỗi. Vì vậy cái quan niệm "hàm bao quát cho nhiều trường hợp" của các phiên bản trước không còn áp dụng nữa.
 
Web KT

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

Back
Top Bottom