Giúp em lọc ra nhiều chuỗi ký tự (1 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

tranhuutai87

Thành viên mới
Tham gia
12/1/24
Bài viết
1
Được thích
0
Giúp em lọc ra nhiều chuỗi với. Lọc 1 chuỗi thì em làm được.
Ví dụ như:
MA_GD:331452431|db13041801209, db13151812135#LEMINHSANG# #[27945702 1/2024 559410][BPMENT-FT-189948], db13202811254
Em muốn lọc dãy số 13041801209 , 13151812135, 13202811254 thì làm sao ạ.
Giúp em với. Cám ơn các anh/chị
 
Giúp em lọc ra nhiều chuỗi với. Lọc 1 chuỗi thì em làm được.
Ví dụ như:
MA_GD:331452431|db13041801209, db13151812135#LEMINHSANG# #[27945702 1/2024 559410][BPMENT-FT-189948], db13202811254
Em muốn lọc dãy số 13041801209 , 13151812135, 13202811254 thì làm sao ạ.
Giúp em với. Cám ơn các anh/chị
Tách và lọc chuỗi có số và là 11 số (len =11) liền nhau. Sử dụng excel365 hoặc power query nhé
365
Mã:
=LET(m,TEXTSPLIT(CONCAT(TEXT(MID(A2,SEQUENCE(LEN(A2)),1),"[>=0]0;;; ")),," ",1),ARRAYTOTEXT(FILTER(m,LEN(m)=11)))
 
Nhận xét: Mỗi số cần lấy đi sau "db"
Excel 365:
Hàm Substitute đổi "db " thành " db". Mục đích là để nối db vào số.
Dùng hàm TextSplit tách ra thành mảng.
Dùng hàm Filter để lọc lấy các phần tử bắt đầu với "db"
Dùng hàm Substitute để loại "db"
 
Giúp em lọc ra nhiều chuỗi với. Lọc 1 chuỗi thì em làm được.
Ví dụ như:
MA_GD:331452431|db13041801209, db13151812135#LEMINHSANG# #[27945702 1/2024 559410][BPMENT-FT-189948], db13202811254
Em muốn lọc dãy số 13041801209 , 13151812135, 13202811254 thì làm sao ạ.
Giúp em với. Cám ơn các anh/chị
Bạn tham khảo, Excel không sáu lăm.
 

File đính kèm

Giúp em lọc ra nhiều chuỗi với. Lọc 1 chuỗi thì em làm được.
Ví dụ như:
MA_GD:331452431|db13041801209, db13151812135#LEMINHSANG# #[27945702 1/2024 559410][BPMENT-FT-189948], db13202811254
Em muốn lọc dãy số 13041801209 , 13151812135, 13202811254 thì làm sao ạ.
Giúp em với. Cám ơn các anh/chị
Bạn thử Power query như sau nhé:
1705073131067.png
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
Tachcot = Table.AddColumn(Source, "chuoiso", each List.Accumulate(
List.Positions(Text.ToList([Column1])),
{},
(state, current) =>
let
chuoitach = Text.Middle([Column1], current, 13)
in
if Text.Start(chuoitach, 2) = "db" then
state & {Text.Middle(chuoitach, 2, 13)}
else
state
), type list),
Ketqua = Table.RemoveColumns(Table.TransformColumns(Tachcot, {"chuoiso", each Text.Combine(List.Transform(_, Text.From), "/"), type text}),{"Column1"})
in
Ketqua
Hoặc nếu chuỗi thực tế nó ngắn thì bạn có thể tách lần 1 theo "db", sau đó tách thêm 1 lần lấy 11 số là được không cần phải vòng lặp đếm chuỗi con chi cho mệt
 
Giúp em lọc ra nhiều chuỗi với. Lọc 1 chuỗi thì em làm được.
Ví dụ như:
MA_GD:331452431|db13041801209, db13151812135#LEMINHSANG# #[27945702 1/2024 559410][BPMENT-FT-189948], db13202811254
Em muốn lọc dãy số 13041801209 , 13151812135, 13202811254 thì làm sao ạ.
Giúp em với. Cám ơn các anh/chị
Dữ liệu ô A2
Mã:
B2 =MID($A2,FIND("db",$A2,FIND(A2,$A2))+2,11)
Copy ngang và xuống
 

File đính kèm

Công thức chữa cháy:

1705088052242.png

Code VBA chữa cháy:

Function TachLS(s As String)
With CreateObject("VBScript.Regexp")
.Global = True
.IgnoreCase = True
.Pattern = "db([\d]+)"
For Each matchS In .Execute(s)
TachLS = TachLS & ", " & matchS.Submatches.Item(0)
Next matchS
End With
TachLS = Replace(TachLS, ", ", "", , 1)
End Function
 
Web KT

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

Back
Top Bottom