Giúp đỡ lọc từng loại ký tự từ 1 chuỗi ký tự cho trước ạ!

Liên hệ QC

198zxc

Thành viên hoạt động
Tham gia
26/6/12
Bài viết
147
Được thích
19
Em có 1 chuỗi ký tự cho trước muốn lọc ra từng loại ký tự nhưng trong chuỗi ký tự kia lại có những số lượng ký tự thay đổi chứ ko cố định nên em ko thể làm được, mong các bác giúp đỡ em với ạ. file em gửi kèm. em xin cảm ơn rất nhiều
 

File đính kèm

  • Giup do ve tach ky tu tu mot chuoi ky tu cho truoc a.xlsx
    14.8 KB · Đọc: 19
Em có 1 chuỗi ký tự cho trước muốn lọc ra từng loại ký tự nhưng trong chuỗi ký tự kia lại có những số lượng ký tự thay đổi chứ ko cố định nên em ko thể làm được, mong các bác giúp đỡ em với ạ. file em gửi kèm. em xin cảm ơn rất nhiều
sao bạn k dùng text 2 columns cho nhanh.
 
Em có 1 chuỗi ký tự cho trước muốn lọc ra từng loại ký tự nhưng trong chuỗi ký tự kia lại có những số lượng ký tự thay đổi chứ ko cố định nên em ko thể làm được, mong các bác giúp đỡ em với ạ. file em gửi kèm. em xin cảm ơn rất nhiều
Thử 1 cách không phải là hàm:
PHP:
Sub abc()
 Dim St, Cll As Range, j&
 On Error Resume Next
 For Each Cll In Range("A5", Cells(Rows.Count, "A").End(3))
    For j = 1 To 8
        With Cll
          .Offset(, j) = Split(.Value, ".")(j)
        End With
    Next
   Cll.Offset(, 9) = Split(Cll, ".")(10)
 Next
End Sub
 

File đính kèm

  • Giup do ve tach ky tu tu mot chuoi ky tu cho truoc a.xls
    59 KB · Đọc: 12
sao bạn k dùng text 2 columns cho nhanh.
Là như thế nào hả bác, e gà lắm
Bài đã được tự động gộp:

Cách 1: Flash Fill (tốn cỡ 20 giây cuộc đời).

Cách 2: ...
Không dùng được flash fill bác ạ vì đoạn mã gốc thay đổi chứ ko cố định ạ, e muốn khi cần là copy đoạn mã gốc vào thì nó tự chia luôn
Bài đã được tự động gộp:

Thử 1 cách không phải là hàm:
PHP:
Sub abc()
Dim St, Cll As Range, j&
On Error Resume Next
For Each Cll In Range("A5", Cells(Rows.Count, "A").End(3))
    For j = 1 To 8
        With Cll
          .Offset(, j) = Split(.Value, ".")(j)
        End With
    Next
   Cll.Offset(, 9) = Split(Cll, ".")(10)
Next
End Sub
Thank bác để tí em mở trên máy tính
 
Em có 1 chuỗi ký tự cho trước muốn lọc ra từng loại ký tự nhưng trong chuỗi ký tự kia lại có những số lượng ký tự thay đổi chứ ko cố định nên em ko thể làm được, mong các bác giúp đỡ em với ạ. file em gửi kèm. em xin cảm ơn rất nhiều
Thử bằng công thức:
Mã:
B5=MID(LEFT($A5,FIND("|",SUBSTITUTE($A5,".","|",B$2+1+(B$2=9)))-1),FIND("|",SUBSTITUTE($A5,".","|",B$2+(B$2=9)))+1,100)
Hoặc
B5=TRIM(MID(SUBSTITUTE($A5,".",REPT(" ",100)),(B$2+(B$2=9))*100+1,100))
Enter, Fill qua phải, rồi fill cả hàng xuống.
Xem file kèm.
Thân.
 

File đính kèm

  • Giup do ve tach ky tu tu mot chuoi ky tu cho truoc a.xlsx
    25.4 KB · Đọc: 12
Lần chỉnh sửa cuối:
Là như thế nào hả bác, e gà lắm
Hàm của anh Phan Thế Hiệp rất hay, bạn tham khảo ý tưởng thuật toán cũng như học cách sử dụng kết hợp các hàm.
Nếu dữ liệu quá lớn, sử dụng hàm quá nhiều gây nặng file bạn có thể tham khảo cách như hình đính kèm
Trong dữ liệu của bạn cần tách có 1 số dữ liệu có số 0 ở đầu, nếu cần giữ thì bạn chọn format cho các column là text.
HTH
 

File đính kèm

  • Capture1.PNG
    Capture1.PNG
    85 KB · Đọc: 11
  • Capture2.PNG
    Capture2.PNG
    61.1 KB · Đọc: 11
  • Capture3.PNG
    Capture3.PNG
    42 KB · Đọc: 8
Là như thế nào hả bác, e gà lắm
Bài đã được tự động gộp:


Không dùng được flash fill bác ạ vì đoạn mã gốc thay đổi chứ ko cố định ạ, e muốn khi cần là copy đoạn mã gốc vào thì nó tự chia luôn
Bài đã được tự động gộp:


Thank bác để tí em mở trên máy tính
Bác ơi, bản chính xác em muốn hỏi em để ở file đính kèm bác xem giúp em với, em cảm ơn bác nhiều lắm. Bác có thể bớt chút thời gian cho em xin ít tài liệu về vba không ạ, em rất thích nhưng ko biết bắt đầu từ đâu
Bài đã được tự động gộp:

Hàm của anh Phan Thế Hiệp rất hay, bạn tham khảo ý tưởng thuật toán cũng như học cách sử dụng kết hợp các hàm.
Nếu dữ liệu quá lớn, sử dụng hàm quá nhiều gây nặng file bạn có thể tham khảo cách như hình đính kèm
Trong dữ liệu của bạn cần tách có 1 số dữ liệu có số 0 ở đầu, nếu cần giữ thì bạn chọn format cho các column là text.
HTH
Em không dùng cách này được vì dữ liệu gốc thay đổi liên ạ, em muốn là cứ copy dữ liệu gốc vào bảng có sẵn là nó sẽ lọc ra từng thành phần nhỏ ạ
 

File đính kèm

  • Hoi tiep cao thu loc du lieu.xlsx
    28.4 KB · Đọc: 7
Lần chỉnh sửa cuối:
Thử bằng công thức:
Mã:
B5=MID(LEFT($A5,FIND("|",SUBSTITUTE($A5,".","|",B$2+1+(B$2=9)))-1),FIND("|",SUBSTITUTE($A5,".","|",B$2+(B$2=9)))+1,100)
Hoặc
B5=TRIM(MID(SUBSTITUTE($A5,".",REPT(" ",100)),(B$2+(B$2=9))*100+1,100))
Enter, Fill qua phải, rồi fill cả hàng xuống.
Xem file kèm.
Thân.
Bác ơi, hàm này làm sao em chuyển được sang file gốc này bác nhỉ, vì em ko hiểu hàm đâm ra toàn báo lỗi
 

File đính kèm

  • Hoi tiep cao thu loc du lieu.xlsx
    28.4 KB · Đọc: 3
Em không dùng cách này được vì dữ liệu gốc thay đổi liên ạ, em muốn là cứ copy dữ liệu gốc vào bảng có sẵn là nó sẽ lọc ra từng thành phần nhỏ ạ
"là nó sẽ lọc ra từng thành phần nhỏ ạ" thì cũng phải có cái gì đó để biết khi nào bạn muốn nó lọc.
Bấm nút được không?
Bảng kết quả toàn các ô "lí nhí" merge lại, nhìn muốn "đui con mắt".
 

File đính kèm

  • GPE_2707_01.xlsm
    36.2 KB · Đọc: 8
Bạn phải bỏ Merge cell đi. Ai lại để hòa ô tùm lum như vậy. Làm việc với excel hạn chế hòa ô thôi.
Lâu quá mới thấy em vào chơi.
Chúc em ngày vui.
/-*+//-*+//-*+/
Bác ơi, hàm này làm sao em chuyển được sang file gốc này bác nhỉ, vì em ko hiểu hàm đâm ra toàn báo lỗi
Dùng thêm "Hàng phụ" 10.
Xem file kèm.
Thân
 

File đính kèm

  • Hoi tiep cao thu loc du lieu.xlsx
    29.4 KB · Đọc: 14
"là nó sẽ lọc ra từng thành phần nhỏ ạ" thì cũng phải có cái gì đó để biết khi nào bạn muốn nó lọc.
Bấm nút được không?
Bảng kết quả toàn các ô "lí nhí" merge lại, nhìn muốn "đui con mắt".
"là nó sẽ lọc ra từng thành phần nhỏ ạ" thì cũng phải có cái gì đó để biết khi nào bạn muốn nó lọc.
Bấm nút được không?
Bảng kết quả toàn các ô "lí nhí" merge lại, nhìn muốn "đui con mắt".
Của bác làm chuẩn men luôn, hi hi, tại tính chính công việc nên em phải làm các ô "lí nhí" ấy. Em cảm ơn bác nhé
Bài đã được tự động gộp:

Lâu quá mới thấy em vào chơi.
Chúc em ngày vui.
/-*+//-*+//-*+/

Dùng thêm "Hàng phụ" 10.
Xem file kèm.
Thân
Cách của bác rất hay, em sẽ ngồi phân tích lại hàm bác dùng, lúc sáng em thử dùng hàm bác đánh sẵn vào bảng cũ cho sang bảng mới mà ko được :) Cám ơn bác nhiều ạ
 
Cách dễ hiểu nhất
Mã:
A12=MID(BC12,4,4)

...

O12=MID(BC12,24,LEN(BC12)-49)

S12=LEFT(RIGHT(BC12,25),3)

...
 
Em đã thử cách của anh & done ngay cái file cần lọc của em đơn giản hơn khá nhiều so với chi tiết của chủ thớt....
Chỉ cần thêm cái "ký hiệu giữa dãy số" là ra keke
Hàm của anh Phan Thế Hiệp rất hay, bạn tham khảo ý tưởng thuật toán cũng như học cách sử dụng kết hợp các hàm.
Nếu dữ liệu quá lớn, sử dụng hàm quá nhiều gây nặng file bạn có thể tham khảo cách như hình đính kèm
Trong dữ liệu của bạn cần tách có 1 số dữ liệu có số 0 ở đầu, nếu cần giữ thì bạn chọn format cho các column là text.
HTH

Trên excel bảng tính của google em thấy có hàm Rexextract gì đó lọc cũng khá hay mà sao thử ở excel 2016 lại ko thấy hàm đó vậy các anh??
 
Lần chỉnh sửa cuối:
Em đã thử cách của anh & done ngay cái file cần lọc của em đơn giản hơn khá nhiều so với chi tiết của chủ thớt....
Chỉ cần thêm cái "ký hiệu giữa dãy số" là ra keke


Trên excel bảng tính của google em thấy có hàm Regexextract gì đó lọc cũng khá hay mà sao thử ở excel 2016 lại ko thấy hàm đó vậy các anh??
2 nhà phát triển khác nhau mà bạn. Kiểu như bạn thấy ngta dùng điện thoại có Spen nhưng mua Iphone về lại thắc mắc không có ấy :D
Regex M$ đưa vào VBA.
 
Oh, Cảm ơn a..."bây giờ thì em đã hiểu" :D
P.S: VBA e không biết dùng... :(
Mình cũng không rành :D. Công việc hiện tại chỉ cần căn chỉnh in ấn cơ bản nên cũng chưa nghĩ tới việc học.
Nếu công việc của bạn hay đụng đến những vấn đề xử lí phức tạp mà hàm không/mất thời gian để giải quyết thì nên học, diễn đàn cũng có sách đấy bạn.
 
Công việc em liên quan đến quản lý dữ liệu kinh doanh & thông tin khách hàng, nên chắc cũng ko cao siêu cho lắm. Hiện tại em đang làm form để các bạn nv ghi vào cho chuẩn sau này đỡ nhọc :D
Mình cũng không rành :D. Công việc hiện tại chỉ cần căn chỉnh in ấn cơ bản nên cũng chưa nghĩ tới việc học.
Nếu công việc của bạn hay đụng đến những vấn đề xử lí phức tạp mà hàm không/mất thời gian để giải quyết thì nên học, diễn đàn cũng có sách đấy bạn.
 
Web KT
Back
Top Bottom