Nhờ các anh chị giúp bài toán tìm số trùng lặp (5 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

trongkhanh95

Thành viên mới
Tham gia
22/1/18
Bài viết
10
Được thích
0
Giới tính
Nam
ô A1 có 92 số 42,24,25,41,07,09,45,69........; ô B1 có 10 số 45,73,27,54,72,16,47,48,74,78
Em muốn nhờ các anh chị giúp đỡ :
1. Ô C1= Số ở ô A1 loại trừ số trùng với số ở ô B1( A1 có 92 số, B1 có 10 số thì C1 là 82 số, trường hợp số ở B1 không trùng thì ô C1 có thể hơn 82 số)?
2. Tại ô D1 có chứa 1 số. Ô E1 = "có" nếu số trong ô D1 nằm trong dãy số ở A1, E= "không" nếu số ở D1 không nằm trong dãy ở A1?
Em xin cảm ơn các anh chị!
 

File đính kèm

ô A1 có 92 số 42,24,25,41,07,09,45,69........; ô B1 có 10 số 45,73,27,54,72,16,47,48,74,78
Em muốn nhờ các anh chị giúp đỡ :
1. Ô C1= Số ở ô A1 loại trừ số trùng với số ở ô B1( A1 có 92 số, B1 có 10 số thì C1 là 82 số, trường hợp số ở B1 không trùng thì ô C1 có thể hơn 82 số)?
2. Tại ô D1 có chứa 1 số. Ô E1 = "có" nếu số trong ô D1 nằm trong dãy số ở A1, E= "không" nếu số ở D1 không nằm trong dãy ở A1?
Em xin cảm ơn các anh chị!
Bạn thử dùng code này xem đúng ý không nhé!
Mã:
Sub GPE()
    Dim Tmp1, Tmp2, tArr, Dic As Object
    Dim I As Long
    
    Set Dic = CreateObject("Scripting.Dictionary")
    Tmp1 = Split(Range("A1"), ",")
    Tmp2 = Split(Range("B1"), ",")
    
    For I = 0 To UBound(Tmp1)
        If Not Dic.exists(Tmp1(I)) Then Dic.Add Tmp1(I), ""
    Next I
    For I = 0 To UBound(Tmp2)
        If Dic.exists(Tmp2(I)) Then Dic.Remove Tmp2(I)
    Next I
    
    Range("C1") = Join(Dic.keys, ",")

    tArr = Filter(Tmp1, Range("D1"), True)
    If UBound(tArr) = 0 Then Range("E1") = "Có" Else Range("E1") = "Không"
    MsgBox "Done", vbInformation, "GPE"
End Sub
 
Bạn thử dùng code này xem đúng ý không nhé!
Mã:
Sub GPE()
    Dim Tmp1, Tmp2, tArr, Dic As Object
    Dim I As Long
 
    Set Dic = CreateObject("Scripting.Dictionary")
    Tmp1 = Split(Range("A1"), ",")
    Tmp2 = Split(Range("B1"), ",")
 
    For I = 0 To UBound(Tmp1)
        If Not Dic.exists(Tmp1(I)) Then Dic.Add Tmp1(I), ""
    Next I
    For I = 0 To UBound(Tmp2)
        If Dic.exists(Tmp2(I)) Then Dic.Remove Tmp2(I)
    Next I
 
    Range("C1") = Join(Dic.keys, ",")

    tArr = Filter(Tmp1, Range("D1"), True)
    If UBound(tArr) = 0 Then Range("E1") = "Có" Else Range("E1") = "Không"
    MsgBox "Done", vbInformation, "GPE"
End Sub
Em đã thử và Ok. Nhờ bác giúp cho em với:
ở ô A1: Nguyễn Quỳnh Hoa 01,02,03,04,05,06,07,08,09
A2: Nguyễn Thị Hương 10,11,12,13,14,15
A3: Nguyễn Văn Hoàng Quý 16,17,18,19
em muốn sang ô B1 chỉ còn 01,02,03,04,05,06,07,08,09
B2 chỉ còn 10,11,12,13,14,15
B3 chỉ còn 16,17,18,19
Em còn gà excel nên mong bác giúp. Tks bác!
 
Em đã thử và Ok. Nhờ bác giúp cho em với:
ở ô A1: Nguyễn Quỳnh Hoa 01,02,03,04,05,06,07,08,09
A2: Nguyễn Thị Hương 10,11,12,13,14,15
A3: Nguyễn Văn Hoàng Quý 16,17,18,19
em muốn sang ô B1 chỉ còn 01,02,03,04,05,06,07,08,09
B2 chỉ còn 10,11,12,13,14,15
B3 chỉ còn 16,17,18,19
Em còn gà excel nên mong bác giúp. Tks bác!
Công thức bạn nhé!
Mã:
B1=TRIM(MID(A1,FIND(" ",A1)+1,1000))
Fill xuống
 
Công thức bạn nhé!
Mã:
B1=TRIM(MID(A1,FIND(" ",A1)+1,1000))
Fill xuống
Bài đó áp dụng công thức tách tên.
Nếu Excel 2013 trở lên thì flash fill.

Hoặc tạm:
Mã:
=MID(A1,MIN(IFERROR(FIND({0;1;2;3;4;5;6;7;8;9},A1),"")),LEN(A1))
'CSE
 
Lần chỉnh sửa cuối:
Cái
Em đã thử và Ok. Nhờ bác giúp cho em với:
ở ô A1: Nguyễn Quỳnh Hoa 01,02,03,04,05,06,07,08,09
A2: Nguyễn Thị Hương 10,11,12,13,14,15
A3: Nguyễn Văn Hoàng Quý 16,17,18,19
em muốn sang ô B1 chỉ còn 01,02,03,04,05,06,07,08,09
B2 chỉ còn 10,11,12,13,14,15
B3 chỉ còn 16,17,18,19
Em còn gà excel nên mong bác giúp. Tks bác!
Tiêu đề là bài toán tìm số trùng lặp (mà), bạn đăng bài ngang xương vậy (trật bài vị rồi), mở Topic khác đi bạn.

Với bài này có thể dùng Text to Column làm cũng được nhưng phải mở Topic khác và đính kèm File để biết dữ liệu thật nó thế nào.
 
Lần chỉnh sửa cuối:
Cái

Tiêu đề là bài toán tìm số trùng lặp (mà), bạn đăng bài ngang xương vậy (trật bài vị rồi), mở Topic khác đi bạn.

Với bài này có thể dùng Text to Column làm cũng được nhưng phải mở Topic khác và đính kèm File để biết dữ liệu thật nó thế nào.
Ok bác.
 
Web KT

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

Back
Top Bottom