Kiểm tra dữ liệu trùng tại hai thời điểm liên tiếp!

Liên hệ QC

Sơn Mã

Thành viên hoạt động
Tham gia
30/12/16
Bài viết
114
Được thích
2
Rất mong GPE giúp đỡ có phương án nào kiểm tra được dữ liệu trùng tại hai thời điểm liên tiếp bất kì ở cột KIEMTRA có bao nhiêu trường hợp trùng với dữ liệu cùng thời điểm đó tại cột DATE.
Ví dụ: mình kiểm tra 2 thời điểm: 00:01:00 và 00:02:00 ở cột KIEMTRA thì dữ liệu 2 thời điểm đó lần lược là 7 và 3, cần kiểm tra đối chiếu xem tại 2 thời điểm liên tiếp 00:01:00 và 00:02:00 ở cột DATE có bao nhiêu trường hợp tại 2 thời điểm đó đều có dữ liệu liên tiếp lần lượt là 7 và 3 => kết quả kiểm tra ghi vào ô bên cạnh ở thời điểm thứ 2 cột KETQUA KIEM TRA
Tương tự như vậy kiểm tra lân xuống tại hai thời điểm 00:02:00 và 00:03:00 cứ như vậy cho đến hết.
- Rất mong sự giúp đỡ của các bạn. Xin cảm ơn rất nhiều!
https://drive.google.com/file/d/0B0MAxLXOR5k-NUpJNVJUVDdDcHc/view?usp=sharing
 
Rất mong GPE giúp đỡ có phương án nào kiểm tra được dữ liệu trùng tại hai thời điểm liên tiếp bất kì ở cột KIEMTRA có bao nhiêu trường hợp trùng với dữ liệu cùng thời điểm đó tại cột DATE.
Ví dụ: mình kiểm tra 2 thời điểm: 00:01:00 và 00:02:00 ở cột KIEMTRA thì dữ liệu 2 thời điểm đó lần lược là 7 và 3, cần kiểm tra đối chiếu xem tại 2 thời điểm liên tiếp 00:01:00 và 00:02:00 ở cột DATE có bao nhiêu trường hợp tại 2 thời điểm đó đều có dữ liệu liên tiếp lần lượt là 7 và 3 => kết quả kiểm tra ghi vào ô bên cạnh ở thời điểm thứ 2 cột KETQUA KIEM TRA
Tương tự như vậy kiểm tra lân xuống tại hai thời điểm 00:02:00 và 00:03:00 cứ như vậy cho đến hết.
- Rất mong sự giúp đỡ của các bạn. Xin cảm ơn rất nhiều!
https://drive.google.com/file/d/0B0MAxLXOR5k-NUpJNVJUVDdDcHc/view?usp=sharing
Trường hợp nầy đơn giản, bạn dư khả năng lấy code của các bạn trên diễn đàn và tự viết lại, chạy không được thì gởi lên mọi người sẽ chỉnh giúp
 
Trường hợp nầy đơn giản, bạn dư khả năng lấy code của các bạn trên diễn đàn và tự viết lại, chạy không được thì gởi lên mọi người sẽ chỉnh giúp
- Cảm ơn bạn. Mình cũng đã tìm và tra trên diễn đàn nhưng không có bài nào tương tự bạn ạ. Mong bạn giúp đỡ! Cảm ơn bạn nhiều!
 
- Cảm ơn bạn. Mình cũng đã tìm và tra trên diễn đàn nhưng không có bài nào tương tự bạn ạ. Mong bạn giúp đỡ! Cảm ơn bạn nhiều!
bạn tạo 1 mảng chứa Date, 1 mảng chứa Kiemtra và 1 mảng chứa kết quả
tạo 2 vòng lập lồng nhau, đầu tiên lấy điều kiện sau đó là vòng lập dò trong Date, thỏa thì ghi vào kết quả
chay chậm 1 chút nhưng dể viết
 
bạn tạo 1 mảng chứa Date, 1 mảng chứa Kiemtra và 1 mảng chứa kết quả
tạo 2 vòng lập lồng nhau, đầu tiên lấy điều kiện sau đó là vòng lập dò trong Date, thỏa thì ghi vào kết quả
chay chậm 1 chút nhưng dể viết
Dạ, mình thú nhận là mình chưa được học về excel như thế. Mình chỉ dựa vào bài tương tự như vậy có sẵn và thay đổi một chút để làm cho phù hợp thôi ạ. Không phải là mình ỷ nại mà là do mình không đủ trình độ làm được như vậy ạ. Mong bạn giúp đỡ!
 
Dạ, mình thú nhận là mình chưa được học về excel như thế. Mình chỉ dựa vào bài tương tự như vậy có sẵn và thay đổi một chút để làm cho phù hợp thôi ạ. Không phải là mình ỷ nại mà là do mình không đủ trình độ làm được như vậy ạ. Mong bạn giúp đỡ!
Ai cũng có lúc phải bắt đầu học và làm việc mà mình không biết, vạn sự khởi đầu nan, nếu vượt qua được mới chứng tỏ bản lĩnh của mình
Bạn bỏ ra vài giờ viết thử rồi tính tiếp
 
Dạ, mình thú nhận là mình chưa được học về excel như thế. Mình chỉ dựa vào bài tương tự như vậy có sẵn và thay đổi một chút để làm cho phù hợp thôi ạ. Không phải là mình ỷ nại mà là do mình không đủ trình độ làm được như vậy ạ. Mong bạn giúp đỡ!

Không biết bạn làm công việc gì với kiểu dữ liệu này.
Tôi chỉ biết viết theo cách hiểu của mình, còn kiểm tra kết quả đúng hay sai thì chưa biết.
Bạn tự kiểm tra nhé. Nếu không đúng thì bạn phải cho vài ví dụ, nếu đúng là "bi nhiêu".
PHP:
Public Sub GPE()
Dim Dic As Object, Arr1(), Arr2(), dArr()
Dim I As Long, R1 As Long, R2 As Long, Num1 As Long, Num2 As Long
Dim Tem As String, Tem2 As String
Set Dic = CreateObject("Scripting.Dictionary")
Arr1 = Range("A2", Range("A2").End(xlDown)).Resize(, 2).Value2:     R1 = UBound(Arr1)
Arr2 = Range("D2", Range("D2").End(xlDown)).Resize(, 2).Value2:     R2 = UBound(Arr2)
ReDim dArr(1 To R2, 1 To 1)
For I = 1 To R1
    Tem = Arr1(I, 1) & "#" & Arr1(I, 2)
    If Not Dic.Exists(Tem) Then
        Dic.Add Tem, 1
    Else
        Dic.Item(Tem) = Dic.Item(Tem) + 1
    End If
Next I
For I = 2 To R2
    Tem = Arr2(I - 1, 1) & "#" & Arr2(I - 1, 2)
    Tem2 = Arr2(I, 1) & "#" & Arr2(I, 2)
    If Dic.Exists(Tem) Then
        Num1 = Dic.Item(Tem)
        If Dic.Exists(Tem2) Then
            Num2 = Dic.Item(Tem2)
            dArr(I, 1) = IIf(Num1 < Num2, Num1, Num2)
        End If
    End If
Next I
Range("F2").Resize(R2) = dArr
Set Dic = Nothing
End Sub
File bạn "khủng" quá, hơn triệu dòng, chạy hơi "rùa". Máy tôi chạy mất 10 giây.
 
Lần chỉnh sửa cuối:
Không biết bạn làm công việc gì với kiểu dữ liệu này.
Tôi chỉ biết viết theo cách hiểu của mình, còn kiểm tra kết quả đúng hay sai thì chưa biết.
Bạn tự kiểm tra nhé. Nếu không đúng thì bạn phải cho vài ví dụ, nếu đúng là "bi nhiêu".
PHP:
Public Sub GPE()
Dim Dic As Object, Arr1(), Arr2(), dArr()
Dim I As Long, R1 As Long, R2 As Long, Num1 As Long, Num2 As Long
Dim Tem As String, Tem2 As String
Set Dic = CreateObject("Scripting.Dictionary")
Arr1 = Range("A2", Range("A2").End(xlDown)).Resize(, 2).Value2:     R1 = UBound(Arr1)
Arr2 = Range("D2", Range("D2").End(xlDown)).Resize(, 2).Value2:     R2 = UBound(Arr2)
ReDim dArr(1 To R2, 1 To 1)
For I = 1 To R1
    Tem = Arr1(I, 1) & "#" & Arr1(I, 2)
    If Not Dic.Exists(Tem) Then
        Dic.Add Tem, 1
    Else
        Dic.Item(Tem) = Dic.Item(Tem) + 1
    End If
Next I
For I = 2 To R2
    Tem = Arr2(I - 1, 1) & "#" & Arr2(I - 1, 2)
    Tem2 = Arr2(I, 1) & "#" & Arr2(I, 2)
    If Dic.Exists(Tem) Then
        Num1 = Dic.Item(Tem)
        If Dic.Exists(Tem2) Then
            Num2 = Dic.Item(Tem2)
            dArr(I, 1) = IIf(Num1 < Num2, Num1, Num2)
        End If
    End If
Next I
Range("F2").Resize(R2) = dArr
Set Dic = Nothing
End Sub
File bạn "khủng" quá, hơn triệu dòng, chạy hơi "rùa". Máy tôi chạy mất 10 giây.
Vâng, cảm ơn thầy Ba Tê rất nhiều! Em kiểm tra thủ công thì em kiểm tra như sau ạ:
Ví dụ em kiểm tra dữ liệu ở cột KIEMTRA tại 2 thời điểm liên tiếp có số liệu như sau:
00:01:007
00:02:003
Em chuyển sang cột DATE dùng chức năng Filter: tích chọn lấy 2 thời điểm
00:01:00
00:02:00
sau đó lọc chọn tiếp ở cột B lấy 2 dữ liệu 7 và 3
- Em dò thủ công xuống kiểm tra xem có trường hợp nào dữ liệu 7 và 3 xuất hiện lần lượt ở 2 dòng liên tiếp hay không? (2 thời điểm liên tiếp là 2 thời điểm ở 2 dòng liên tiếp nhau ở cột DATE)
=> KẾT QUẢ là không có trường hợp nào ạ. (trong code của thầy khi em cho chạy thì trường hợp này lại ra kết quả là có 19 trường hợp)
- Tương tự như vậy em kiểm tra ở 2 thời điểm
00:02:003
00:03:005
Thì KẾT QUẢ là có 3 trường hợp...
Mong thầy xem giúp ạ! Cảm ơn thầy!
 
bạn chạy thử code
Mã:
Public Sub GPE1()
Dim Dic As Object, Darr(), Sarr(), Arr()
Dim i As Long
Dim Tmp As String, Tem2 As String
Set Dic = CreateObject("Scripting.Dictionary")
Darr = Range("A2:B" & Range("A2").End(xlDown).Row).Value2
Sarr = Range("D2:E" & Range("D2").End(xlDown).Row).Value2
For i = 1 To UBound(Sarr) - 1
    Tmp = Sarr(i, 1) & "#" & Sarr(i, 2) & "#" & Sarr(i + 1, 1) & "#" & Sarr(i + 1, 2)
    If Not Dic.Exists(Tmp) Then Dic.Add Tmp, 0
Next i
For i = 1 To UBound(Darr) - 1
    Tmp = Darr(i, 1) & "#" & Darr(i, 2) & "#" & Darr(i + 1, 1) & "#" & Darr(i + 1, 2)
    If Dic.Exists(Tmp) Then
      Dic.Item(Tmp) = Dic.Item(Tmp) + 1
    End If
Next i
Arr = Dic.items
Set Dic = Nothing
Range("F3").Resize(UBound(Sarr) - 1) = Application.Transpose(Arr)
End Sub
 
bạn chạy thử code
Mã:
Public Sub GPE1()
Dim Dic As Object, Darr(), Sarr(), Arr()
Dim i As Long
Dim Tmp As String, Tem2 As String
Set Dic = CreateObject("Scripting.Dictionary")
Darr = Range("A2:B" & Range("A2").End(xlDown).Row).Value2
Sarr = Range("D2:E" & Range("D2").End(xlDown).Row).Value2
For i = 1 To UBound(Sarr) - 1
    Tmp = Sarr(i, 1) & "#" & Sarr(i, 2) & "#" & Sarr(i + 1, 1) & "#" & Sarr(i + 1, 2)
    If Not Dic.Exists(Tmp) Then Dic.Add Tmp, 0
Next i
For i = 1 To UBound(Darr) - 1
    Tmp = Darr(i, 1) & "#" & Darr(i, 2) & "#" & Darr(i + 1, 1) & "#" & Darr(i + 1, 2)
    If Dic.Exists(Tmp) Then
      Dic.Item(Tmp) = Dic.Item(Tmp) + 1
    End If
Next i
Arr = Dic.items
Set Dic = Nothing
Range("F3").Resize(UBound(Sarr) - 1) = Application.Transpose(Arr)
End Sub
Dạ, tuyệt vời bạn ạ! Cảm ơn bạn nhiều!
 
Vâng, cảm ơn thầy Ba Tê rất nhiều! Em kiểm tra thủ công thì em kiểm tra như sau ạ:
Ví dụ em kiểm tra dữ liệu ở cột KIEMTRA tại 2 thời điểm liên tiếp có số liệu như sau:
00:01:007
00:02:003
Em chuyển sang cột DATE dùng chức năng Filter: tích chọn lấy 2 thời điểm
00:01:00
00:02:00
sau đó lọc chọn tiếp ở cột B lấy 2 dữ liệu 7 và 3
- Em dò thủ công xuống kiểm tra xem có trường hợp nào dữ liệu 7 và 3 xuất hiện lần lượt ở 2 dòng liên tiếp hay không? (2 thời điểm liên tiếp là 2 thời điểm ở 2 dòng liên tiếp nhau ở cột DATE)
=> KẾT QUẢ là không có trường hợp nào ạ. (trong code của thầy khi em cho chạy thì trường hợp này lại ra kết quả là có 19 trường hợp)
- Tương tự như vậy em kiểm tra ở 2 thời điểm
00:02:003
00:03:005
Thì KẾT QUẢ là có 3 trường hợp...
Mong thầy xem giúp ạ! Cảm ơn thầy!

Thì ra ........ là vậy! Chạy ngược lại code bài #7.
PHP:
Public Sub GPE()
Dim Arr1(), Arr2(), dArr(), I As Long, R1 As Long, R2 As Long, Tem As String
Arr1 = Range("A2", Range("A2").End(xlDown)).Resize(, 2).Value2:     R1 = UBound(Arr1)
Arr2 = Range("D2", Range("D2").End(xlDown)).Resize(, 2).Value2:     R2 = UBound(Arr2)
ReDim dArr(1 To R2, 1 To 1)
With CreateObject("Scripting.Dictionary")
    For I = 2 To R2
        .Add Arr2(I - 1, 1) & "#" & Arr2(I - 1, 2) & "$" & Arr2(I, 1) & "#" & Arr2(I, 2), I
    Next I
    For I = 1 To R1 - 1
        Tem = Arr1(I, 1) & "#" & Arr1(I, 2) & "$" & Arr1(I + 1, 1) & "#" & Arr1(I + 1, 2)
        If .Exists(Tem) Then dArr(.Item(Tem), 1) = dArr(.Item(Tem), 1) + 1
    Next I
End With
Range("F2").Resize(R2) = dArr
End Sub
 
Cảm ơn GPE rất nhiều. Mình xin trình bày trường hơp kiểm tra chéo nhau:
Có 2 cột dữ liệu là DATE1 và DATE2: Mong GPE giúp đỡ phương án kiểm tra dữ liệu trùng tại hai thời điểm liên tiếp bất kì ở cột DATE1 và DATE2 có bao nhiêu trường hợp trùng với dữ liệu cùng thời điểm đó tại cột DATE.

TRƯỜNG HỢP 1: Kiểm tra giữa 2 dữ liệu liên tiếp theo thứ tự từ cột DATE1 sang cột DATE2
Ví dụ: mình kiểm tra 2 thời điểm: 00:01:00 và 00:02:00 ở cột DATE1 và cột DATE2 thì dữ liệu 2 thời điểm đó lần lược là 5 và 0, cần kiểm tra đối chiếu xem tại 2 thời điểm liên tiếp 00:01:00 và 00:02:00 ở cột DATE có bao nhiêu trường hợp tại 2 thời điểm đó đều có dữ liệu liên tiếp lần lượt là 5 và 0 => kết quả kiểm tra ghi vào ô bên cạnh ở thời điểm thứ 2 cột KETQUA KIEM TRA1
Tương tự như vậy kiểm tra lân xuống tại hai thời điểm 00:02:00 và 00:03:00 cứ như vậy cho đến hết.

TRƯỜNG HỢP 2: Kiểm tra giữa 2 dữ liệu liên tiếp theo thứ tự từ cột DATE2 sang cột DATE1
Ví dụ: mình kiểm tra 2 thời điểm: 00:01:00 và 00:02:00 ở cột DATE2 và cột DATE1 thì dữ liệu 2 thời điểm đó lần lược là 5 và 0, cần kiểm tra đối chiếu xem tại 2 thời điểm liên tiếp 00:01:00 và 00:02:00 ở cột DATE có bao nhiêu trường hợp tại 2 thời điểm đó đều có dữ liệu liên tiếp lần lượt là 29 và 5 => kết quả kiểm tra ghi vào ô bên cạnh ở thời điểm thứ 2 cột KETQUA KIEM TRA2
Tương tự như vậy kiểm tra lân xuống tại hai thời điểm 00:02:00 và 00:03:00 cứ như vậy cho đến hết.


- Rất mong sự giúp đỡ của các bạn. Xin cảm ơn rất nhiều!
- File gửi kèm đây ạ: https://drive.google.com/file/d/0B0MAxLXOR5k-NnE2X093dmM4RHc/view?usp=sharing
 
Đối với kết quả kiểm tra 1 bạn dùng thử công thức mảng này xem:
Mã:
=SUM(N(($A$2:$A$1044259=D2)*($A$3:$A$1044260=D3)*($B$2:$B$1044259=E2)*($B$3:$B$1044260= F3)))
Đối với trường hợp 2 thì công thức tương tự, chỉ đổi E2 thành D2 và E3 thành D3.
Có lẽ vấn đề quan tâm lớn nhất là hiệu suất. Không biết máy bạn chạy bao lâu mới xong sau khi fill.
 
Đối với kết quả kiểm tra 1 bạn dùng thử công thức mảng này xem:
Mã:
=SUM(N(($A$2:$A$1044259=D2)*($A$3:$A$1044260=D3)*($B$2:$B$1044259=E2)*($B$3:$B$1044260= F3)))
Đối với trường hợp 2 thì công thức tương tự, chỉ đổi E2 thành D2 và E3 thành D3.
Có lẽ vấn đề quan tâm lớn nhất là hiệu suất. Không biết máy bạn chạy bao lâu mới xong sau khi fill.
Vâng cảm ơn bạn nhiều. Để mình thử xem. Trong bài này thì là trường hợp kiểm tra dữ liệu liên tiếp ở hai cột, nó hơi khác ở bài đầu là kiểm tra dữ liệu liên tiếp ở trong cùng 1 cột nên mình không biết làm thế nào!
 
Vâng cảm ơn bạn nhiều. Để mình thử xem. Trong bài này thì là trường hợp kiểm tra dữ liệu liên tiếp ở hai cột, nó hơi khác ở bài đầu là kiểm tra dữ liệu liên tiếp ở trong cùng 1 cột nên mình không biết làm thế nào!
-Bạn ơi, mong bạn xem giúp: khi mình kiểm tra mình thử thay đổi dữ liệu E2 là 18, F3 là 22 thì tại 2 thời điểm liên tiếp đó ngày ở phần đầu tiên là có 1 trường hợp rồi nhưng kết quả ở công thức bạn đưa ra lại là 0? Bạn kiểm tra giúp mình với nhé!
 
-Bạn ơi, mong bạn xem giúp: khi mình kiểm tra mình thử thay đổi dữ liệu E2 là 18, F3 là 22 thì tại 2 thời điểm liên tiếp đó ngày ở phần đầu tiên là có 1 trường hợp rồi nhưng kết quả ở công thức bạn đưa ra lại là 0? Bạn kiểm tra giúp mình với nhé!
Hàm mảng bạn nhé. Sau khi paste công thức xong là Ctrl - Shift - Enter.

Bạn test thử ở file đính kèm nhé. File gốc của bạn nặng quá.
 

File đính kèm

  • kiemtra_2giatrilientiep cheonhau (1).xlsx
    32.4 KB · Đọc: 9
Lần chỉnh sửa cuối:
-Bạn ơi, mong bạn xem giúp: khi mình kiểm tra mình thử thay đổi dữ liệu E2 là 18, F3 là 22 thì tại 2 thời điểm liên tiếp đó ngày ở phần đầu tiên là có 1 trường hợp rồi nhưng kết quả ở công thức bạn đưa ra lại là 0? Bạn kiểm tra giúp mình với nhé!

Bạn chạy thử sub này rồi kiểm tra lại kết quả xem sao.
PHP:
Public Sub Test_GPE()
Dim sArr(), tArr(), dArr(), I As Long, K As Long, Rws As Long, Tem As String
sArr = Range("A2", Range("B2").End(xlDown)).Value
tArr = Range("D2", Range("F2").End(xlDown)).Value
ReDim dArr(1 To UBound(tArr), 1 To 4)
With CreateObject("Scripting.Dictionary")
    For I = 2 To UBound(tArr)
        K = K + 1
        Tem = tArr(I - 1, 1) & tArr(I, 1)
        .Add Tem, K: dArr(K, 1) = 0: dArr(K, 2) = 0
        dArr(K, 3) = tArr(I - 1, 2) & "#" & tArr(I, 3)
        dArr(K, 4) = tArr(I - 1, 3) & "#" & tArr(I, 2)
    Next I
    For I = 2 To UBound(sArr)
        Tem = sArr(I - 1, 1) & sArr(I, 1)
        If .Exists(Tem) Then
            Rws = .Item(Tem)
            If sArr(I - 1, 2) & "#" & sArr(I, 2) = dArr(Rws, 3) Then dArr(Rws, 1) = dArr(Rws, 1) + 1
            If sArr(I - 1, 2) & "#" & sArr(I, 2) = dArr(Rws, 4) Then dArr(Rws, 2) = dArr(Rws, 2) + 1
        End If
    Next I
End With
Range("G3:H3").Resize(K) = dArr
End Sub
 
Cảm ơn Thầy Ba Tê và các bạn rất nhiều đã giúp giải quyết bài toán trên. Nay mình có bài toán này nhờ các Thầy và các bạn GPE xem giúp:
Đây là bài toán ngược so với bài toán trên. Và có thể nói là rất phức tạp, rất hi vọng GPE và các bạn xem giúp:Cột A là cột các thời điểm liên tiếp nhau (có 1044259 thời điểm liên tiếp nhau, có sự lặp lại) và cột B là cột dữ liệu tương ứng với mỗi thời điểm đó (dữ liệu là các số có từ 0 đến 36).Cột D là cột thời điểm kiểm tra đã được rút gọn (có 1440 thời điểm) Cột E và cột F là 2 cột dữ liệu cần tìm theo điều kiện như sau:1/ Tại E2 và F2 cho 2 dữ liệu ban đầu bất kì từ 0 đến 36 (ví dụ là 6 và 9)2/ Hãy tìm dữ liệu x1, x2, x3 .... ở cột E và y1, y2, y3...ở cột F tương ứng tại các thời điểm 00:02:00, 00:03:00,..v.v.., 23:59:00, 00:00:00 sao cho thoả mãn: - Cùng 1 thời điểm (cùng 1 dòng) thì 2 giá trị x và y phải khác nhau.- Các giá trị x1, x2, x3 ,... và y1, y2, y3,... là từ 0 đến 36.- Các giá trị ở 2 cột E và F tại 2 thời điểm liên tiếp nhau ( 2 thời điểm liên tiếp nhau là 2 thời điểm ở 2 dòng cạnh nhau) là không được xuất hiện lần nào tại 2 thời điểm liên tiếp đó ở cột A và B. Ví dụ:+ tại 2 thời điểm liên tiếp 00:01:00 và 00:02:00 dữ liệu cột E và F lần lượt là 6, x1 và 9, y1 thì tại 2 thời điểm liên tiếp đó ở cột A và dữ liệu ở cột B tương ứng không được có trường hợp nào xuất hiện kiểu dữ liệu liên tiếp là (6, x1); (9, y1); (6, y1) và (9, x1). + Tương tự như vậy ở 2 thời điểm liên tiếp 00:02:00 và 00:03:00 ở cột A và dữ liệu tương ứng cột B không có trường hợp dữ liệu liên tiếp là (x1,x2); (y1, y2); (x1, y2) và (y1, x2) + ...v.v..- Rất mong sự giúp đỡ của các bạn cho phương án tìm ra 2 cột dữ liệu thoã mãn điều kiện trên. Xin chân thành cảm ơn vô cùng!https://drive.google.com/file/d/0B0MAxLXOR5k-ZkY0WDJkX3NPOFU/view?usp=sharing
 
Bạn có thể cho biết những câu hỏi của bạn ứng dụng vào việc gì không?
 
Web KT

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

Back
Top Bottom