Tách chuỗi có 5 điều kiện

Liên hệ QC

tutientrung

Thành viên hoạt động
Tham gia
10/3/07
Bài viết
151
Được thích
222
Nghề nghiệp
Quản lý SX
Nhờ các bạn giúp mình công thức hoặc code thì càng tốt .Nội dung mình đã ghi cụ thể trong file .Dữ liệu rất nhiều ,mình chỉ gửi đại diện .Hiện tại đang làm bằng cách "Nhìn bằng mắt và bắt bằng tay " hơi bị đuối . Cám ơn các bạn rất nhìu .
 

File đính kèm

  • tach chuoi co nhieu DK.XLS
    41 KB · Đọc: 21
Nhờ các bạn giúp mình công thức hoặc code thì càng tốt .Nội dung mình đã ghi cụ thể trong file .Dữ liệu rất nhiều ,mình chỉ gửi đại diện .Hiện tại đang làm bằng cách "Nhìn bằng mắt và bắt bằng tay " hơi bị đuối . Cám ơn các bạn rất nhìu .

Bạn sử dụng tạm công thức sau tại ô C7 trước khi chờ các giải pháp hay hơn !
PHP:
=IF(ISERR(SEARCH("THổI",B7))=FALSE,B7,IF(ISERR(SEARCH("sxt",B7))=FALSE,B7,RIGHT(B7,LEN(B7)-IF(ISERR(FIND(")(",B7)),IF(ISERR(FIND(")",B7)),IF(ISERR(FIND("#",B7)),"",FIND("#",B7)),FIND(")",B7)),FIND(")(",B7)+8))))

Xem thêm file
 

File đính kèm

  • TACH DU LIEU _DK.rar
    12.1 KB · Đọc: 14
Lần chỉnh sửa cuối:
Bạn sử dụng tạm công thức sau tại ô C7 trước khi chờ các giải pháp hay hơn !
PHP:
=IF(ISERR(SEARCH("THổI",B7))=FALSE,B7,IF(ISERR(SEARCH("sxt",B7))=FALSE,B7,RIGHT(B7,LEN(B7)-IF(ISERR(FIND(")(",B7)),IF(ISERR(FIND(")",B7)),IF(ISERR(FIND("#",B7)),"",FIND("#",B7)),FIND(")",B7)),FIND(")(",B7)+8))))
Cám ơn bạn nhiều .Có bạn nào chuyển sang code cho mình được không ?
 
Nhờ các bạn giúp mình công thức hoặc code thì càng tốt .Nội dung mình đã ghi cụ thể trong file .Dữ liệu rất nhiều ,mình chỉ gửi đại diện .Hiện tại đang làm bằng cách "Nhìn bằng mắt và bắt bằng tay " hơi bị đuối . Cám ơn các bạn rất nhìu .
Mình thấy cái nào có "THỔI" là có "LLPDE" nên tạm thời thay thế nó nhé (nếu hổng được thì kiếm cách khác chứ mình chẳng biết làm sao để loại thằng "THỔI" nữa. Híc)
Xài tạm cái này thử xem, có gì bàn tiếp
Thân
Mã:
Public Function namdk(Vung) As String
    Dim i As Integer, Tim, Ngat
    Const Dk = "0123456789/#()"
        If InStr(1, Vung, "SXT") Or InStr(1, Vung, "LLPDE") Then namdk = Vung: Exit Function
            For i = 1 To Len(Vung)
                Tim = Mid(Vung, i, 1)
                If InStr(1, Dk, Tim) = 0 Then Ngat = i - 1: Exit For
            Next
namdk = Trim(Right(Vung, Len(Vung) - Ngat))
End Function
 
Mình thấy cái nào có "THỔI" là có "LLPDE" nên tạm thời thay thế nó nhé (nếu hổng được thì kiếm cách khác chứ mình chẳng biết làm sao để loại thằng "THỔI" nữa. Híc)
Thì anh cho mấy cái "THỔI" ấy vào 1 biến ---> Tự người dùng định nghĩa lấy
Kiểu vầy:
PHP:
Public Function namdk(Text As String, Expt) As String
  Dim i As Integer, Tim, Ngat, Item
  Const Dk = "0123456789/#()"
  For Each Item In Expt
    If InStr(UCase(Text), UCase(Item)) Then namdk = Text: Exit Function
  Next
  For i = 1 To Len(Text)
    Tim = Mid(Text, i, 1)
    If InStr(1, Dk, Tim) = 0 Then Ngat = i - 1: Exit For
   Next
  namdk = Trim(Right(Text, Len(Text) - Ngat))
End Function
Khi ấy, công thức sẽ có dạng như vầy: =namdk(B7,{"THổI","SXT"})
Tức thằng nào có tên trong {....} thì cho qua
---------------
Mà lý ra thì mấy cái số "0123456789/#()" cũng nên cho vào 1 biến luôn
Kiểu vầy:
PHP:
Function namdk(Text As String, RejText As String, Expt) As String
  Dim i As Integer, Tim, Ngat, Item
  For Each Item In Expt
    If InStr(UCase(Text), UCase(Item)) Then namdk = Text: Exit Function
  Next
  For i = 1 To Len(Text)
    Tim = Mid(Text, i, 1)
    If InStr(1, RejText, Tim) = 0 Then Ngat = i - 1: Exit For
   Next
  namdk = Trim(Right(Text, Len(Text) - Ngat))
End Function
Khi ấy công thức sẽ có dạng vầy: =namdk(B7,"0123456789/#()",{"THổI","SXT"})
Là 1 hàm thật sự thì không thế có cái gì đó xác định trước cả
 
Lần chỉnh sửa cuối:
Vấn đề đã được giải quyết .Cám ơn các bác nhiều (bác NDU,Concogia,dat_butmuc).Cách của bác NDU hay đấy ,mình test OK rồi. Khi nào có dịp rảnh em rủ mấy bác đi làm vài chai được không vậy mấy bác.E ở SG nè ( 37t 1v 2c),bữa giờ nhờ các bác cũng nhiều nên muốn hậu tạ và đàm đạo ý mà....--=0--=0--=0--=0
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom