Tách thông tin!!!

  • Thread starter Thread starter minhbeo
  • Ngày gửi Ngày gửi
Liên hệ QC

minhbeo

Thành viên mới
Tham gia
10/1/08
Bài viết
22
Được thích
0
Em có một cột dữ liệu và mỗi dòng của cột dữ liệu có chứa 3 thông tin khác nhau gồm thông tin về cỡ lốp xe ( vỏ xe ) , thông tin về nhãn hiệu lốp xe ( vỏ xe ) và thông tin về loại xe sử dụng lốp xe ( vỏ xe ). Việc em cần làm là phải tách 3 thông tin trên thành 3 cột riêng biệt, em đã tham khảo bài tách địa chỉ nhưng do kém hiểu biết nên vẫn chưa áp dụng được phương pháp các anh đã chỉ vào tình huống thực tế
công việc của em. Em gửi cả file đính kèm mong các anh chỉ giáo giùm!-+*/
 

File đính kèm

Đề tài này hay đấy.
Nhưng do số liệu tổng hợp của bạn không thống nhất nên rất khó cho việc dùng hàm để tách.

Tôi nói vậy là do, ví dụ xét riêng phần chữ:
Excel không hiểu được chữ nào là "loại" (vd: xe tải, xe ô tô...) và chữ nào là "nhãn hiệu" (vd: EAGLE, WRANGLER...), thêm nữa là có một số loại không có tên nhãn hiệu.

Do đó, nếu muốn đơn giản hơn, và cũng là để cho Excel hiểu hơn, bạn nên cung cấp một danh mục các loại cỡ lốp (vỏ xe), loại lốp, nhãn hiệu... Sau đó đem số liệu của bạn đi dò với những thông tin của danh mục này cung cấp, thì may ra mới tách ra được như yêu cầu của bạn.

Thân.
 
Đề tài này hay đấy.
Nhưng do số liệu tổng hợp của bạn không thống nhất nên rất khó cho việc dùng hàm để tách.

Tôi nói vậy là do, ví dụ xét riêng phần chữ:
Excel không hiểu được chữ nào là "loại" (vd: xe tải, xe ô tô...) và chữ nào là "nhãn hiệu" (vd: EAGLE, WRANGLER...), thêm nữa là có một số loại không có tên nhãn hiệu.

Do đó, nếu muốn đơn giản hơn, và cũng là để cho Excel hiểu hơn, bạn nên cung cấp một danh mục các loại cỡ lốp (vỏ xe), loại lốp, nhãn hiệu... Sau đó đem số liệu của bạn đi dò với những thông tin của danh mục này cung cấp, thì may ra mới tách ra được như yêu cầu của bạn.

Thân.

Cám ơn anh BNTT cũng như các anh em khác quan tâm đến bài viết liên quan tới công việc của em. Em hiểu ý bác rồi, nhưng thực tế hiện nay thì em chưa có được một file tổng hợp tât cả các loại lốp xe như zậy, do đó các anh & các bạn có thể giúp em lọc trước thông tin về cỡ lốp xe ( vỏ xe ) vì đây là yêu cầu quan trọng và cần nhất đối với em hiện nay.

_ Ví dụ thông tin cần lọc là: 245/70 R16_ em giải thích thêm chút xíu để mọi người biết thêm về ký hiệu của lốp xe nhé: Chữ số đầu tiên trong dãy là chiều rộng lốp (tính bằng mm), ở đây là 245 mm, chiều rộng lốp chính là bề mặt tiếp xúc của lốp xe với mặt đường. Chữ số thứ nhì là tỷ số giữa độ cao của thành lốp (sidewall) với độ rộng bề mặt lốp, trong trường hợp này, thành lốp bằng 70% của 245 mm, tức là bằng 171.5 mm,chữ "R" cho biết đây là lốp radial,chữ số cuối cùng là chỉ đường kính của vành xe.

Ngoài ra có một số loại lốp có ký hiệu như 12.00-20 thế nên trong file dữ liệu hiện em đang phải làm không được đồng nhất. Em có nhận ra một đặc điểm để phân biệt ký hiệu về lốp xe trong file là thường bắt đầu bằng chữ số và kết thúc bằng một chữ số hoặc một chữ cái in hoa.

Mong các anh & các bạn giúp đỡ.

Cảm ơn.
 
Vẫn khó, Bạn ơi.
Đừng buồn nhé, để tôi nêu vài ví dụ cho bạn xem, rồi bạn cho ý kiến nghe:

Đây là một số thông tin về cỡ lốp xe mà bạn muốn trích ra: (chữ màu đen là chưa tách, chữ màu đỏ là đã được bạn tách, hiện đang nằm bên cột B)
1. Hai cái này, cái thì bị dính chữ PR vào, cái thì không.
11.00-20PR ..... 11.00-20
7.00-16 12PR ..... 7.00-16

2. Hai cái này, cái thì bạn lấy cả thông tin kèm theo (82H), cái thì bạn bỏ mất đi (91H)
Vậy cái nào thì lấy, cái nào thì bỏ ?
175/65R14 82H ..... 175/65R14 82H
195/70R14 91H ..... 195/70R14

3. Hai cái này cũng vậy, cái trên thì bạn cho kèm theo cả phần đuôi (16PR AU02), cái dưới thì bạn bỏ mất phần đuôi đi (12PR AH11)
Vậy cái nào lấy, cái nào bỏ?
750R18 16PR AU02 ..... 750R18 16PR AU02
205/75R17.5 12PR AH11 ..... 205/75R17.5
 
Từ từ bổ sung mà thôi!

Mình đã trải qua các bước như sau, nếu thích thì bạn tiếp tục:

1*/ Tô chọn 3 cột từ cột 'B' & vô menu Insert để thêm 3 cột mới;
Lúc đó cột nhãn hiệu lốp sẽ sang cột 'F'
2*/ Lập danh sách duy nhật cột 'F' này bằng AdvancedFilter đến cột 'I'; Hiện tại mình chỉ thấy hiện lên danh sách 10 nhãn hiệu;
Nếu bạn không tự lập được danh sách duy nhất này thì nhờ sự trợ giúp của diễn đàn lần nữa!
3*/ Chép macro dưới đây vô CS VBE & cho chạy
Kế tiếp sau đây là vấn đề của bạn

a*/ Xem xét những dòng trống trên cột 'C"; Tìm tên nhãn hiệu bên cột 'A' tương ứng & điền thêm vô cột cột 'I'
b*/ Sau mỗi lần bổ sung dữ liệu vô cột 'I', bạn cho chạy macro. Điều này giúp bạn đỡ tìm nhãn trùng đã có trong danh sách duy nhất;
Chú ý có thể nhãn hiệu trong cột 'A' sai chính tả nên tuy đã có bên 'I' nhưng sẽ không thấy trong 3 cột 'B:D'


PHP:
Option Explicit

Sub Tach3Cot()
 Dim lRow As Long, lDong As Long, Wz As Long, Jj As Long
 Dim bDai As Byte, bBDau As Byte
  
 lDong = [i65432].End(xlUp).Row: lRow = [a65432].End(xlUp).Row
 Application.ScreenUpdating = False
 For Wz = 2 To lRow
    For Jj = 2 To lDong
        With Cells(Wz, 1)
            bBDau = InStr(1, .Value, Cells(Jj, 9))
            bDai = Len(Cells(Jj, 9))
            If bBDau > 0 And bDai > 0 Then
                .Offset(, 2) = Cells(Jj, 9)
                .Offset(, 3) = Mid(.Value, bBDau + bDai + 1)
                .Offset(, 1) = Left(.Value, bBDau - 1):         Exit For
            End If
        End With
    Next Jj
 
 Next Wz
End Sub
 
Web KT

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

Back
Top Bottom