Lọc ra các ký tự chữ số

Liên hệ QC
Chả là e cũng đang học thằng regex tiện cái e xài tập luyện luôn :v
Bạn thớt làm theo 2 bước dưới nhé:
Bước 1 chạy code sau
Bước 2 dùng text to column là xong rồi đấy
Nhân tiện em cũng muốn hỏi các anh chị. tại sao khi em dùng Pattern: Gi.+\s+(\d+) ở regex101 tách được theo mong muốn (https://regex101.com/r/smOlwU/1) , nhưng ở trong VBA thì lại không được ạ, nên buộc trong code e phải xài 2 lần pattern :(
Em xin cám ơn :)

Mã:
Sub tachgiamgia()
Dim i As Long, er As Long
Dim arr()
Dim VBR As Object, kq
Dim VBR2 As Object
Dim kqarr()
Set VBR = CreateObject("VBScript.RegExp")
Set VBR2 = CreateObject("VBScript.RegExp")
With Sheet2
er = .Range("A" & Rows.Count).End(3).Row
arr = .Range("A2:A" & er).Value
ReDim kqarr(1 To UBound(arr), 1 To 1)
For i = 1 To UBound(arr)
        arr(i, 1) = CStr(arr(i, 1))
        arr(i, 1) = Application.WorksheetFunction.Substitute(arr(i, 1), ",", "")
    With VBR
        .Global = True
        .Pattern = "Gi.+(\d+)"
    Set Matche1 = .Execute(arr(i, 1))
    For Each Match In Matche1
        With VBR2
            .Global = True
            .Pattern = "\d+"
            Set matche2 = .Execute(Match)
            For Each Match2 In matche2
                If Len(Match2) > 3 Then
                    kq = kq & Match2.Value & ";"
                    kqarr(i, 1) = kq
                End If
            Next
        End With
    Next
    End With
    kq = Null
Next i
.[M2].Resize(UBound(arr), 1) = kqarr
End With
End Sub
 
Cám ơn Bác
Mình cần xử lý trong excel để hỗ trợ cho công việc hằng ngày
 
- Giảm giá 1,200,000đ
- Giảm 1,010,000đ(Không áp dụng giảm thêm combo)
- Giảm 350,000đ(Không áp dụng giảm thêm combo)
- Giảm 150,000đ(Không áp dụng giảm thêm combo)
- PMH gia dụng 9,600,000đ
- Giảm thêm 7% khi mua cùng sản phẩm bất kỳ có giá cao hơn
- Mua 1 số Loa karaoke giảm đến 20%
- Mua kèm ỔN ÁP ROBOT giảm giá 12% (Không áp dụng KM khác)
- PMH gia dụng 9,600,000đ hoặc Giảm 8,000,000đ
- Giảm giá 5,590,000đ
- Giảm thêm 7% khi mua cùng sản phẩm bất kỳ có giá cao hơn
- Mua 1 trong 10 Loa thanh Samsung với giá ưu đãi
- Mua 1 số Loa karaoke giảm đến 20%
- Mua kèm ỔN ÁP ROBOT giảm giá 12% (Không áp dụng KM khác)
- Mua kèm Ổn áp tự động 1 pha LiOA DRI giảm giá 12% (Không áp dụng KM khác)
Bác Hiệp hỗ trợ giúp em với, Cty lại thay đổi nội dung nên ko thể lọc được ra số ạ
Em gửi 2 file nhà Anh CHị hỗ trợ giúp em vớiạ
Em cámơn
G2=IFERROR(--MID(A2,SEARCH("PMH gia dụng",A2)+LEN("PMH gia dụng"),SEARCH("đ",A2,SEARCH("PMH gia dụng",A2)+LEN("PMH gia dụng"))-1-SEARCH("PMH gia dụng",A2)-LEN("PMH gia dụng")+1),"")

Bạn tham khảo nhé xem có đúng ý bạn không
 

File đính kèm

  • giabai data-2.xlsx
    37 KB · Đọc: 10
G2=IFERROR(--MID(A2,SEARCH("PMH gia dụng",A2)+LEN("PMH gia dụng"),SEARCH("đ",A2,SEARCH("PMH gia dụng",A2)+LEN("PMH gia dụng"))-1-SEARCH("PMH gia dụng",A2)-LEN("PMH gia dụng")+1),"")

Bạn tham khảo nhé xem có đúng ý bạn không
Cám ơn Bác nhiều
- PMH gia dụng 3,750,000đ hoặc Giảm 3,100,000đ
- Giảm giá 1,260,000đ
- Giảm thêm 7% khi mua cùng sản phẩm bất kỳ có giá cao hơn
- Tặng Bộ hộp giữ tươi thực phẩm(khách hàng nhắn tin đến tổng đài 8077 để nhận quà)
- Mua 1 số Loa karaoke giảm đến 20%
- Mua kèm ỔN ÁP ROBOT giảm giá 12% (Không áp dụng KM khác)
- Mua kèm Ổn áp tự động 1 pha LiOA DRI giảm giá 12% (Không áp dụng KM khác)
Bác giúp em thêm lọc GIẢM GIÁ 1,260,000đ
 

File đính kèm

  • giabai data-2.xlsx
    35.4 KB · Đọc: 5
- Giảm giá 1,200,000đ
- Giảm 1,010,000đ(Không áp dụng giảm thêm combo)
- Giảm 350,000đ(Không áp dụng giảm thêm combo)
- Giảm 150,000đ(Không áp dụng giảm thêm combo)
- PMH gia dụng 9,600,000đ
- Giảm thêm 7% khi mua cùng sản phẩm bất kỳ có giá cao hơn
- Mua 1 số Loa karaoke giảm đến 20%
- Mua kèm ỔN ÁP ROBOT giảm giá 12% (Không áp dụng KM khác)
- PMH gia dụng 9,600,000đ hoặc Giảm 8,000,000đ
- Giảm giá 5,590,000đ
- Giảm thêm 7% khi mua cùng sản phẩm bất kỳ có giá cao hơn
- Mua 1 trong 10 Loa thanh Samsung với giá ưu đãi
- Mua 1 số Loa karaoke giảm đến 20%
- Mua kèm ỔN ÁP ROBOT giảm giá 12% (Không áp dụng KM khác)
- Mua kèm Ổn áp tự động 1 pha LiOA DRI giảm giá 12% (Không áp dụng KM khác)
Bác Hiệp hỗ trợ giúp em với, Cty lại thay đổi nội dung nên ko thể lọc được ra số ạ
Em gửi 2 file nhà Anh CHị hỗ trợ giúp em vớiạ
Em cámơn
Bạn nên thống kê toàn bộ các trường hợp "nội dung" của Cty bạn, rồi đem lên diễn đàn một lần, tránh tình trạng cứ "nhí" ra một chút mãi, nhé bạn!
Mã:
C2=IFERROR(AGGREGATE(14,6,--SUBSTITUTE(MID($A2,FIND("|",SUBSTITUTE($A2,IF(COUNTIF(C$1,"*giảm*"),"Giảm","gia dụng"),"|",IF(COUNTIF(C$1,"*giảm*"),COLUMNS($A:A),1)))+{9,5},ROW($6:$20)),",",""),1),)
Enter, fill qua phải đến cột "PMH" thì ngưng. Fill cả hàng xuống.

Thân
 

File đính kèm

  • data.xlsx
    38.7 KB · Đọc: 12
  • data1.xlsx
    61.1 KB · Đọc: 11
Web KT
Back
Top Bottom