Nhờ giúp Công thức lọc dữ liệu thiếu

Liên hệ QC

thuhiennguyen1888

Thành viên chính thức
Tham gia
16/10/14
Bài viết
78
Được thích
0
Chào các Bạn,
Trong file đính kèm mình nhờ các Bạn giúp cho công thức để tại cột M thể hiện những số còn thiếu khi đối chiếu dữ liệu cột L với các số từ 0 đến 9.
Cám ơn các Bạn nhiều.
 

File đính kèm

File đính kèm

Cám ơn Bạn.
Nếu dùng được bằng Công thức thông thường thì tốt quá.
Mong Bạn & các Bạn tiếp tục giúp cho.
Thực ra bạn nên dùng như anh Phuocam cũng dễ dùng
Locso=Locso&"_"&i nó ra kết quả như yêu cầu nhưng có thêm dấu trừ thế này -7
sau dùng hàm mid tách từ vi trí thứ hai thôi, bạn dựa vào đó chỉnh sửa cho phù hợp nhé
 
Chào các Bạn,
Trong file đính kèm mình nhờ các Bạn giúp cho công thức để tại cột M thể hiện những số còn thiếu khi đối chiếu dữ liệu cột L với các số từ 0 đến 9.
Cám ơn các Bạn nhiều.

Mình cũng góp 1 hàm tự tạo!

=FindNumberMiss(chuỗi cần kiểm tra)

PHP:
Function FindNumberMiss(Chuoi As String) As String
    Dim Arr, dArr
    
    Dim i As Integer
    Dim tmp As Integer
    Dim strResult As String
    Arr = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9")
    
    dArr = Split(Chuoi, "_")
    For i = 0 To UBound(Arr)
    tmp = InStr(Chuoi, Arr(i))
    If tmp = 0 Then
        strResult = strResult & i & "_"
        FindNumberMiss = Left(strResult, Len(strResult) - 1)
    End If
    Next i
End Function
 
Cám ơn Bạn.
Nếu dùng được bằng Công thức thông thường thì tốt quá.
Mong Bạn & các Bạn tiếp tục giúp cho.
Mã:
=TRIM(MID(SUBSTITUTE($L$5,"_",REPT(" ",255)),COLUMNS($A:A)*255-254,255))
rồi nếu làm công thức thì thế này rôì lại đi lọc trùng rồi so sánh hơi mất thời gian
Nhưng theo mình hiểu chuỗi bạn còn thêm nhiều hơn nên bạn sợ ko hiểu code thì ko vọc lại dược đúng ko.
Bạn có thể dùng code của phuyen89 nếu chuỗi dài hơn thì thêm phần tử vào Array("0",...) là được
Mã:
Public Function LocSo(Chuoi As String) As String
Dim i As Byte, k 
For i = 0 To 9
    If InStr(Chuoi, i) = 0 Then
        k = k & i & "_"
        LocSo = Left(k, Len(k) - 1)
    End If
Next i
End Function
 
Lần chỉnh sửa cuối:
Công thức là
Mã:
=IFERROR(LEFT(IF(LEN(L5)=LEN(SUBSTITUTE(L5,0,"")),"0_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,1,"")),"1_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,2,"")),"2_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,3,"")),"3_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,4,"")),"4_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,5,"")),"5_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,6,"")),"6_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,7,"")),"7_","") &IF(LEN(L5)=LEN(SUBSTITUTE(L5,8,"")),"8_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,9,"")),"9_",""),LEN(IF(LEN(L5)=LEN(SUBSTITUTE(L5,0,"")),"0_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,1,"")),"1_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,2,"")),"2_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,3,"")),"3_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,4,"")),"4_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,5,"")),"5_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,6,"")),"6_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,7,"")),"7_","") &IF(LEN(L5)=LEN(SUBSTITUTE(L5,8,"")),"8_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,9,"")),"9_",""))-1),"")
 
Mình cũng góp 1 hàm tự tạo!

=FindNumberMiss(chuỗi cần kiểm tra)

PHP:
Function FindNumberMiss(Chuoi As String) As String
    Dim Arr, dArr
    
    Dim i As Integer
    Dim tmp As Integer
    Dim strResult As String
    Arr = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9")
    
    dArr = Split(Chuoi, "_")
    For i = 0 To UBound(Arr)
    tmp = InStr(Chuoi, Arr(i))
    If tmp = 0 Then
        strResult = strResult & i & "_"
        FindNumberMiss = Left(strResult, Len(strResult) - 1)
    End If
    Next i
End Function
Mã:
dArr = Split(Chuoi, "_")
Đoạn này hơi thừa, có thể bỏ đi phuyen89 nhẩy
 
Công thức là
Mã:
=IFERROR(LEFT(IF(LEN(L5)=LEN(SUBSTITUTE(L5,0,"")),"0_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,1,"")),"1_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,2,"")),"2_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,3,"")),"3_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,4,"")),"4_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,5,"")),"5_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,6,"")),"6_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,7,"")),"7_","") &IF(LEN(L5)=LEN(SUBSTITUTE(L5,8,"")),"8_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,9,"")),"9_",""),LEN(IF(LEN(L5)=LEN(SUBSTITUTE(L5,0,"")),"0_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,1,"")),"1_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,2,"")),"2_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,3,"")),"3_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,4,"")),"4_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,5,"")),"5_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,6,"")),"6_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,7,"")),"7_","") &IF(LEN(L5)=LEN(SUBSTITUTE(L5,8,"")),"8_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,9,"")),"9_",""))-1),"")
Sợ đại ca quá đi mất, anh viết khiếp quá.
 
Cám ơn Bạn.
Nếu dùng được bằng Công thức thông thường thì tốt quá.
Mong Bạn & các Bạn tiếp tục giúp cho.
Thêm một cách bằng công thức:
Mã:
=MID(IF(COUNTIF(L5,"*0*")=0,"_0","")&IF(COUNTIF(L5,"*1*")=0,"_1","")&IF(COUNTIF(L5,"*2*")=0,"_2","")&IF(COUNTIF(L5,"*3*")=0,"_3","")&IF(COUNTIF(L5,"*4*")=0,"_4","")&IF(COUNTIF(L5,"*5*")=0,"_5","")&IF(COUNTIF(L5,"*6*")=0,"_6","")&IF(COUNTIF(L5,"*7*")=0,"_7","")&IF(COUNTIF(L5,"*8*")=0,"_8","")&IF(COUNTIF(L5,"*9*")=0,"_9",""),2,20)
 
Công thức là
Mã:
=IFERROR(LEFT(IF(LEN(L5)=LEN(SUBSTITUTE(L5,0,"")),"0_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,1,"")),"1_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,2,"")),"2_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,3,"")),"3_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,4,"")),"4_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,5,"")),"5_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,6,"")),"6_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,7,"")),"7_","") &IF(LEN(L5)=LEN(SUBSTITUTE(L5,8,"")),"8_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,9,"")),"9_",""),LEN(IF(LEN(L5)=LEN(SUBSTITUTE(L5,0,"")),"0_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,1,"")),"1_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,2,"")),"2_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,3,"")),"3_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,4,"")),"4_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,5,"")),"5_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,6,"")),"6_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,7,"")),"7_","") &IF(LEN(L5)=LEN(SUBSTITUTE(L5,8,"")),"8_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,9,"")),"9_",""))-1),"")

Cám ơn Bạn.
Cám ơn ACE trong Diễn đàn.
Thật tuyệt vời.
Có những bài tập em tưởng như khó có lời giải vậy mà các ACE vẫn dành thời gian, công sức giúp cho ra đáp án.
Cám ơn ACE, cám ơn Diễn đàn rất nhiều.
 
Công thức là
Mã:
=IFERROR(LEFT(IF(LEN(L5)=LEN(SUBSTITUTE(L5,0,"")),"0_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,1,"")),"1_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,2,"")),"2_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,3,"")),"3_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,4,"")),"4_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,5,"")),"5_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,6,"")),"6_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,7,"")),"7_","") &IF(LEN(L5)=LEN(SUBSTITUTE(L5,8,"")),"8_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,9,"")),"9_",""),LEN(IF(LEN(L5)=LEN(SUBSTITUTE(L5,0,"")),"0_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,1,"")),"1_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,2,"")),"2_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,3,"")),"3_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,4,"")),"4_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,5,"")),"5_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,6,"")),"6_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,7,"")),"7_","") &IF(LEN(L5)=LEN(SUBSTITUTE(L5,8,"")),"8_","") & IF(LEN(L5)=LEN(SUBSTITUTE(L5,9,"")),"9_",""))-1),"")
Sao bạn không dùng COUNTIF cho nó gọn?
 
Cám ơn Bạn.
Cám ơn ACE trong Diễn đàn.
Thật tuyệt vời.
Có những bài tập em tưởng như khó có lời giải vậy mà các ACE vẫn dành thời gian, công sức giúp cho ra đáp án.
Cám ơn ACE, cám ơn Diễn đàn rất nhiều.
Đó mới là GPE mà, các ACE nếu ko bận đều rất nhiệt tình bạn ah
 
Công thức của bác phuocam có lỗi nếu chuỗi gốc chỉ có 1 số (ví dụ là 1), kết quả vẫn ra 0_1_2_...9 mà không phải là 0_2_3...9
 
Công thức của bác phuocam có lỗi nếu chuỗi gốc chỉ có 1 số (ví dụ là 1), kết quả vẫn ra 0_1_2_...9 mà không phải là 0_2_3...9

Đó là vấn đề của COUNTIF
Nếu cell chỉ có số 1 nhưng được định dạng TEXT sẽ OK liền
 
Web KT

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

Back
Top Bottom