Lọc và chia danh sách (2 người xem)

Liên hệ QC

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

Thuyanhanoi

Thành viên thường trực
Tham gia
15/10/12
Bài viết
304
Được thích
154
Nghề nghiệp
Nhân viên
- Em có "vọc" một đoạn code lọc và chia danh sách như sau:
Mã:
Option Explicit

Public Sub Danh_sach_lop()
Application.ScreenUpdating = False
Dim I As Long, J As Long, K As Long, sArr(), dArr(), Nganh As String, He As String, Ma As String
Dim So_bat_dau As Long, So_lop As Long, DK As Long, Tem As Long, So_hoc_sinh As Long ', Cot As Long, Rws As Long
With Sheets("DATA")
    sArr = .Range(.[A6], .[A65000].End(xlUp)).Resize(, 14).Value
End With
ReDim dArr(1 To UBound(sArr, 1), 1 To 13)
With Sheets("DS_LOP")
    Nganh = .[P1].Value
    He = .[P2].Value
    Ma = .[P3].Value
    So_bat_dau = .[P4].Value - 1
    So_lop = .[P5].Value
    For I = 1 To UBound(sArr, 1)
        If sArr(I, 10) = Nganh Then
          If sArr(I, 11) = He Then
          So_hoc_sinh = So_hoc_sinh + 1
          Tem = (So_hoc_sinh \ So_lop) + 1
            K = K + 1
            dArr(K, 1) = K: So_bat_dau = So_bat_dau + 1
            dArr(K, 2) = IIf(.[P3] <> Empty, Ma & Format(So_bat_dau, "000"), sArr(I, 2))
            For J = 3 To 13
                dArr(K, J) = sArr(I, J)
            Next J
            If K = Tem Then
                'So_bat_dau = 0
                'Cot = J
                'dArr(K, J) = sArr(I, J)
            End If
          End If
        End If
    Next I
    If K Then
        With .[A7].Resize(Tem, 13)
            .Value = dArr
            .Borders.LineStyle = 1
            .Borders(xlInsideHorizontal).Weight = xlHairline
        End With
            .[C7].Resize(Tem, 2).Borders(xlInsideVertical).LineStyle = xlNone
    End If
End With
Application.ScreenUpdating = True
End Sub
- Toàn bộ danh sách tại sheet(DATA) nay cần lọc theo (ngành; hệ đào tạo) sang sheet(DS_LOP) và phân chia theo số lớp cần chia được nhập vào từ cell [P5].
- Code trên mới chỉ lọc được 1 phần danh sách (chưa đúng với yêu cầu)
- Kết quả lọc và chia danh sách (đúng) em đã làm thủ công trong file đính kèm.
- Em mong được các anh chị sửa giúp code trên để lọc được đúng yêu cầu như trong file đính kèm.
- Em xin cảm ơn !.
 

File đính kèm

Lần chỉnh sửa cuối:
- Em cảm ơn bác đã cho ý kiến!.
- Thực sự thì em cũng chỉ viết được code để lọc danh sách tổng luôn theo ngành và hệ đào tạo
- Nhưng vì nhiều ngành; nhiều hệ, mỗi ngành lại có số lượng lớp khác nhâu nên em muốn chia luôn. chứ mỗi lần chia xong lại ngồi insert thêm vài dòng và nhập các thông tin thì em thấy làm nó nửa vời sao í.
- Cơ bản là em muốn được các Anh chị chỉ cho cách làm thể nào? để cho nó chia và tách ra được vì em bị "bí" và cách sử lý!.
 
Upvote 0
Em xin được bổ sung thêm là: Nếu ô P5 là rỗng thì không chia
 
Upvote 0
Theo ý kiến của tôi thì đừng ép cái việc chia tách lớp vào code trên chi cho mệt.
Việc code lọc ở trên cứ để nó làm công việc lọc ra 125 học sinh theo điều kiện. Dán liên tục hết xuống sheet
Từ những dòng đã có kết quả này mình xử lý tách lớp ra, chỉ vài dòng code là có ngay từng lớp ưng ý rồi. Cần gì phải ép nó như bạn trình bày ở trên nhỉ??? (đoàn nạy bạn muốn xử lý bao nhiêu lớp, phải tách ra insert bao nhiêu dòng thì xử lý đơn giản hơn rất nhiều, vòng lặp phát là tách ra được rồi, và đánh lại số thứ tự cho từng lớp là xong ngay.)

Đôi khi suy nghỉ cao siêu quá...làm cho ta không nghỉ ra cái đơn giản nhất để làm...kakaka
Nếu làm như
(đoàn nạy bạn muốn xử lý bao nhiêu lớp, phải tách ra insert bao nhiêu dòng thì xử lý đơn giản hơn rất nhiều, vòng lặp phát là tách ra được rồi, và đánh lại số thứ tự cho từng lớp là xong ngay.)
thực hiện việc tách ra sao mong bạn giúp cho code
 
Upvote 0
Bạn có thể giải thích thêm chỗ này
- Dạ đó là khi em chạy code:
Mã:
Public Sub Danh_sach_lop()
Application.ScreenUpdating = False
Dim I As Long, J As Long, K As Long, sArr(), dArr(), Nganh As String, He As String, Ma As String
Dim So_bat_dau As Long, So_lop As Long, DK As Long, Tem As Long, So_hoc_sinh As Long ', Cot As Long, Rws As Long
With Sheets("DATA")
    sArr = .Range(.[A6], .[A65000].End(xlUp)).Resize(, 14).Value
End With
ReDim dArr(1 To UBound(sArr, 1), 1 To 13)
With Sheets("DS_LOP")
    Nganh = .[P1].Value
    He = .[P2].Value
    Ma = .[P3].Value
    So_bat_dau = .[P4].Value - 1
    So_lop = .[P5].Value
    For I = 1 To UBound(sArr, 1)
        If sArr(I, 10) = Nganh Then
          If sArr(I, 11) = He Then
          So_hoc_sinh = So_hoc_sinh + 1
          Tem = (So_hoc_sinh \ So_lop) + 1
            K = K + 1
            dArr(K, 1) = K: So_bat_dau = So_bat_dau + 1
            dArr(K, 2) = IIf(.[P3] <> Empty, Ma & Format(So_bat_dau, "000"), sArr(I, 2))
            For J = 3 To 13
                dArr(K, J) = sArr(I, J)
            Next J
            If K = Tem Then
                'So_bat_dau = 0  'em chưa biết sử lý chỗ này 
                'Cot = J
                'dArr(K, J) = sArr(I, J)
            End If
          End If
        End If
    Next I
    If K Then
        With .[A7].Resize(Tem, 13)
            .Value = dArr
            .Borders.LineStyle = 1
            .Borders(xlInsideHorizontal).Weight = xlHairline
        End With
            .[C7].Resize(Tem, 2).Borders(xlInsideVertical).LineStyle = xlNone
    End If
End With
Application.ScreenUpdating = True
End Sub
- Code mới chỉ lấy được được 1 lớp 32 học sinh ạ!.
 
Upvote 0
- Em có "vọc" một đoạn code lọc và chia danh sách như sau:
Mã:
Public Sub Danh_sach_lop()Application.ScreenUpdating = False
Dim I As Long, J As Long, K As Long, sArr(), dArr(), Nganh As String, He As String, Ma As String
Dim So_bat_dau As Long, So_lop As Long, DK As Long, Tem As Long, So_hoc_sinh As Long ', Cot As Long, Rws As Long
With Sheets("DATA")
    sArr = .Range(.[A6], .[A65000].End(xlUp)).Resize(, 14).Value
End With
ReDim dArr(1 To UBound(sArr, 1), 1 To 13)
With Sheets("DS_LOP")
    Nganh = .[P1].Value
    He = .[P2].Value
    Ma = .[P3].Value
    So_bat_dau = .[P4].Value - 1
    So_lop = .[P5].Value
    For I = 1 To UBound(sArr, 1)
        If sArr(I, 10) = Nganh Then
          If sArr(I, 11) = He Then
          So_hoc_sinh = So_hoc_sinh + 1
          Tem = (So_hoc_sinh \ So_lop) + 1
            K = K + 1
            dArr(K, 1) = K: So_bat_dau = So_bat_dau + 1
            dArr(K, 2) = IIf(.[P3] <> Empty, Ma & Format(So_bat_dau, "000"), sArr(I, 2))
            For J = 3 To 13
                dArr(K, J) = sArr(I, J)
            Next J
            If K = Tem Then
                So_bat_dau = 0
                Cot = J
                'dArr(K, J) = sArr(I, J)
            End If
          End If
        End If
    Next I
    If K Then
        With .[A7].Resize(Tem, 13)
            .Value = dArr
            .Borders.LineStyle = 1
            .Borders(xlInsideHorizontal).Weight = xlHairline
        End With
            .[C7].Resize(Tem, 2).Borders(xlInsideVertical).LineStyle = xlNone
    End If
End With
Application.ScreenUpdating = True
End Sub
- Toàn bộ danh sách tại sheet(DATA) nay cần lọc theo (ngành; hệ đào tạo) sang sheet(DS_LOP) và phân chia theo số lớp cần chia được nhập vào từ cell [P5].
- Code trên mới chỉ lọc được 1 phần danh sách (chưa đúng với yêu cầu)
- Kết quả lọc và chia danh sách (đúng) em đã làm thủ công trong file đính kèm.
- Em mong được các anh chị sửa giúp code trên để lọc được đúng yêu cầu như trong file đính kèm.
- Em xin cảm ơn !.
Bạn thử xem file xem đúng ý bạn không nhé ? Nếu không chia thì cho P5 bằng 1
 

File đính kèm

Upvote 0
- Dạ đó là khi em chạy code mới chỉ lấy được được 1 lớp 32 học sinh ạ!.
Sửa code thì hơi lâu, viết mới cái này, bạn kiểm tra xem sao.
Format xử lý sau vậy

Mã:
Public Sub Tach_Lop()
Dim Nguon, Dk, Tam, Solg, kq(), r As Long, c As Long, i

Nguon = Sheet1.Range("A5").CurrentRegion
Dk = Sheet4.Range("P1", Sheet4.Range("P1").End(xlDown))
If Dk(5, 1) = "" Then Exit Sub

For r = 2 To UBound(Nguon)
If Nguon(r, 10) = Dk(1, 1) And Nguon(r, 11) = Dk(2, 1) Then Tam = Tam & " " & r
Next r

Tam = Split(Trim(Tam))
Solg = Int((UBound(Tam) + 1) / Dk(UBound(Dk), 1)) + 1
ReDim kq(1 To UBound(Tam) + Dk(5, 1) , 1 To UBound(Nguon, 2) - 1)

For r = 0 To UBound(Tam)
If r <> 0 And r Mod Solg = 0 Then
i = i + 2
Else
i = i + 1
End If

For c = 3 To UBound(Nguon, 2) - 1
kq(i, c) = Nguon(Tam(r), c)
Next c

kq(i, 1) = r Mod Solg + 1
kq(i, 2) = Dk(3, 1) & Right(Dk(4, 1) + r + 1000, 3)
Next r

With Sheet4
.Range("A7", "M" & UBound(Nguon)).ClearContents
.Range("A7", "M" & UBound(Nguon)).Borders.LineStyle = xlNone
.Range("A7").Resize(UBound(kq), UBound(kq, 2)) = kq
End With
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Sửa code thì hơi lâu, viết mới cái này, bạn kiểm tra xem sao.
Format xử lý sau vậy

Mã:
Public Sub Tach_Lop()
Dim Nguon, Dk, Tam, Solg, kq(), r As Long, c As Long, i

Nguon = Sheet1.Range("A5").CurrentRegion
Dk = Sheet4.Range("P1", Sheet4.Range("P1").End(xlDown))
If Dk(5, 1) = "" Then Exit Sub

For r = 2 To UBound(Nguon)
If Nguon(r, 10) = Dk(1, 1) And Nguon(r, 11) = Dk(2, 1) Then Tam = Tam & " " & r
Next r

Tam = Split(Trim(Tam))
Solg = Int((UBound(Tam) + 1) / Dk(UBound(Dk), 1)) + 1
ReDim kq(1 To UBound(Tam) + Dk(5, 1) , 1 To UBound(Nguon, 2) - 1)

For r = 0 To UBound(Tam)
If r <> 0 And r Mod Solg = 0 Then
i = i + 2
Else
i = i + 1
End If

For c = 3 To UBound(Nguon, 2) - 1
kq(i, c) = Nguon(Tam(r), c)
Next c

kq(i, 1) = r Mod Solg + 1
kq(i, 2) = Dk(3, 1) & Right(Dk(4, 1) + r + 1000, 3)
Next r

With Sheet4
.Range("A7", "M" & UBound(Nguon)).ClearContents
.Range("A7", "M" & UBound(Nguon)).Borders.LineStyle = xlNone
.Range("A7").Resize(UBound(kq), UBound(kq, 2)) = kq
End With
End Sub
- Cảm ơn anh đã giúp code!. Kết quả lọc như vậy là "chuẩn rồi" ạ!. Còn phần khung em sẽ tìm hiểu "chèn vào trong code". Em xem nếu còn chỗ nào chưa hiểu xin được hỏi anh tiếp ạ!.
- Anh ơi sửa lại giúp em một chút: Nếu P = rống thì lấy cả danh sách với
 
Lần chỉnh sửa cuối:
Upvote 0
Các Bác cho em hỏi với!. Theo phương án code của bài #1 thì có sửa lại để chạy được không vì em "vọc" đến chỗ đó thì tắc, Nếu sửa được thì nhìn code đó là em "hiểu" luôn. Vấn biết là nhờ các Bác sửa code thì các bác còn cảm Thấy "khổ hơn" là viết cho mình code mới!.!
 
Upvote 0
Các Bác cho em hỏi với!. Theo phương án code của bài #1 thì có sửa lại để chạy được không vì em "vọc" đến chỗ đó thì tắc, Nếu sửa được thì nhìn code đó là em "hiểu" luôn. Vấn biết là nhờ các Bác sửa code thì các bác còn cảm Thấy "khổ hơn" là viết cho mình code mới!.!
Thì mình sửa code của bạn đó thôi ! code tại sheet5 nhé ! Bạn so sánh xem mình sửa chỗ nào ...cứ từ từ rồi nó ngấm dần thôi...
 
Upvote 0
- Anh ơi sửa lại giúp em một chút: Nếu P = rống thì lấy cả danh sách với
Có phải là "Số lớp" là rỗng

Các Bác cho em hỏi với!. Theo phương án code của bài #1 thì có sửa lại để chạy được không vì em "vọc" đến chỗ đó thì tắc, Nếu sửa được thì nhìn code đó là em "hiểu" luôn. Vấn biết là nhờ các Bác sửa code thì các bác còn cảm Thấy "khổ hơn" là viết cho mình code mới!.!
Sẽ thử sửa xem sao
 
Upvote 0
- Ở Phương án như bài #1 thì khi không cần nhập mã tại ô P3 và số bắt đầu tai P4 thì code vẫn lọc danh sách.
- Trình độ của em có hạn mong các bác viết ở dạng "đơn giản" tường mình để em "tiêu hóa" từ từ ạ!.
 
Upvote 0
- Ở Phương án như bài #1 thì khi không cần nhập mã tại ô P3 và số bắt đầu tai P4 thì code vẫn lọc danh sách.
- Trình độ của em có hạn mong các bác viết ở dạng "đơn giản" tường mình để em "tiêu hóa" từ từ ạ!.
yêu cầu này của bạn mới gọi là khó à nha , nó loại được mình rùi . hi hi
 
Upvote 0
Bạn muốn tìm hiểu hay muốn giải quyết công việc trước mắt.
Nếu giải quyết việc trước mắt thì đã xong, còn tìm hiểu thì hãy làm từng bước
- Thử nghiệm với công cụ lọc có sẵn: Advance filter rồi insert dòng, ghi Macro
- Chỉnh sửa nó cho đẹp, gọn.
- Học về thuật toán rồi bắt đầu Code trên Cell
- Nhuần nhuyễn trên Cell hãy chuyển qua mảng.
 
Upvote 0
- Ở Phương án như bài #1 thì khi không cần nhập mã tại ô P3 và số bắt đầu tai P4 thì code vẫn lọc danh sách.
- Trình độ của em có hạn mong các bác viết ở dạng "đơn giản" tường mình để em "tiêu hóa" từ từ ạ!.
- Code viết ở bài 9 chỉ so sánh với P1 & P2 và P5
P3, P4 rỗng hay không cũng vẫn chạy.
- Bài này bạn bị rối là do cách tìm tổng số học sinh.
Vậy thêm vòng lặp tính tổng số học sinh cho lành
Còn vài chỗ cần thay đổi, bạn xem thử code dưới

Mã:
Public Sub Danh_sach_lop()
Application.ScreenUpdating = False
Dim I As Long, J As Long, K As Long, sArr(), dArr(), Nganh As String, He As String, Ma As String
Dim So_bat_dau As Long, So_lop As Long, DK As Long, Tem As Long, So_hoc_sinh As Long ', Cot As Long, Rws As Long
With Sheets("DATA")
    sArr = .Range(.[A6], .[A65000].End(xlUp)).Resize(, 14).Value
End With
ReDim dArr(1 To UBound(sArr, 1), 1 To 13)
With Sheets("DS_LOP")
    Nganh = .[P1].Value
    He = .[P2].Value
    Ma = .[P3].Value
    So_bat_dau = .[P4].Value - 1
    So_lop = .[P5].Value
    
    'Them vong lap tinh tong so hoc sinh va so hoc sinh 1 lop
    'Vi neu lam nhu code cu, khong bao gio K=Tem
    For I = 1 To UBound(sArr, 1)
        If sArr(I, 10) = Nganh Then
          If sArr(I, 11) = He Then
          So_hoc_sinh = So_hoc_sinh + 1
          End If
        End If
    Next I
    Tem = (So_hoc_sinh \ So_lop) + 1
    
    For I = 1 To UBound(sArr, 1)
        If sArr(I, 10) = Nganh Then
          If sArr(I, 11) = He Then
          'So_hoc_sinh = So_hoc_sinh + 1
          'Tem = (So_hoc_sinh \ So_lop) + 1
            
            'Chuyen tinh K len day. Vi truong hop hs du 1 lop thi ket qua phai cach ra mot dong
            'Khong the so sanh K=Tem vi neu K=2.Tem thi the nao
            'De y neu K=tem thi K mod Tem =0
            If K <> 0 And K Mod Tem = 0 Then
            K = K + 2

            Else
            K = K + 1
            End If
            
            dArr(K, 1) = K: So_bat_dau = So_bat_dau + 1
            dArr(K, 2) = IIf(.[P3] <> Empty, Ma & Format(So_bat_dau, "000"), sArr(I, 2))
            For J = 3 To 13
                dArr(K, J) = sArr(I, J)
            Next J
            'If K = Tem Then
                'So_bat_dau = 0  'em chua bi?t s? lý ch? này
                'Cot = J
                'dArr(K, J) = sArr(I, J)
            'End If
            
          End If
        End If
    Next I
    If K Then
    'Xoa ket qua cu
        [A7].Resize(K, 13).ClearContents
        'With .[A7].Resize(Tem, 13) Vung nay khai bao thieu dong, chi du cho 1 lop
        'Tong so dong phai =K
        With .[A7].Resize(K, 13)
            .Value = dArr
            .Borders.LineStyle = 1
            .Borders(xlInsideHorizontal).Weight = xlHairline
        End With
            .[C7].Resize(Tem, 2).Borders(xlInsideVertical).LineStyle = xlNone
    End If
End With
Application.ScreenUpdating = True
End Sub
 
Upvote 0
Bạn muốn tìm hiểu hay muốn giải quyết công việc trước mắt.
Nếu giải quyết việc trước mắt thì đã xong, còn tìm hiểu thì hãy làm từng bước
- Thử nghiệm với công cụ lọc có sẵn: Advance filter rồi insert dòng, ghi Macro
- Chỉnh sửa nó cho đẹp, gọn.
- Học về thuật toán rồi bắt đầu Code trên Cell
- Nhuần nhuyễn trên Cell hãy chuyển qua mảng.
Vâng!. Vấn đề của em đúng là thuật toán cho code, cứ đụng đến thuật toán để sử lý code là em lại bị kẹt, nhìn Code các Bác viết thấy "ngon lành quá" mà khi em viết thì không nghĩ được cách giải quyết.
 
Upvote 0
- Code viết ở bài 9 chỉ so sánh với P1 & P2 và P5
P3, P4 rỗng hay không cũng vẫn chạy.
- Bài này bạn bị rối là do cách tìm tổng số học sinh.
Vậy thêm vòng lặp tính tổng số học sinh cho lành
Còn vài chỗ cần thay đổi, bạn xem thử code dưới

Mã:
Public Sub Danh_sach_lop()
Application.ScreenUpdating = False
Dim I As Long, J As Long, K As Long, sArr(), dArr(), Nganh As String, He As String, Ma As String
Dim So_bat_dau As Long, So_lop As Long, DK As Long, Tem As Long, So_hoc_sinh As Long ', Cot As Long, Rws As Long
With Sheets("DATA")
    sArr = .Range(.[A6], .[A65000].End(xlUp)).Resize(, 14).Value
End With
ReDim dArr(1 To UBound(sArr, 1), 1 To 13)
With Sheets("DS_LOP")
    Nganh = .[P1].Value
    He = .[P2].Value
    Ma = .[P3].Value
    So_bat_dau = .[P4].Value - 1
    So_lop = .[P5].Value
    
    'Them vong lap tinh tong so hoc sinh va so hoc sinh 1 lop
    'Vi neu lam nhu code cu, khong bao gio K=Tem
    For I = 1 To UBound(sArr, 1)
        If sArr(I, 10) = Nganh Then
          If sArr(I, 11) = He Then
          So_hoc_sinh = So_hoc_sinh + 1
          End If
        End If
    Next I
    Tem = (So_hoc_sinh \ So_lop) + 1
    
    For I = 1 To UBound(sArr, 1)
        If sArr(I, 10) = Nganh Then
          If sArr(I, 11) = He Then
          'So_hoc_sinh = So_hoc_sinh + 1
          'Tem = (So_hoc_sinh \ So_lop) + 1
            
            'Chuyen tinh K len day. Vi truong hop hs du 1 lop thi ket qua phai cach ra mot dong
            'Khong the so sanh K=Tem vi neu K=2.Tem thi the nao
            'De y neu K=tem thi K mod Tem =0
            If K <> 0 And K Mod Tem = 0 Then
            K = K + 2

            Else
            K = K + 1
            End If
            
            dArr(K, 1) = K: So_bat_dau = So_bat_dau + 1
            dArr(K, 2) = IIf(.[P3] <> Empty, Ma & Format(So_bat_dau, "000"), sArr(I, 2))
            For J = 3 To 13
                dArr(K, J) = sArr(I, J)
            Next J
            'If K = Tem Then
                'So_bat_dau = 0  'em chua bi?t s? lý ch? này
                'Cot = J
                'dArr(K, J) = sArr(I, J)
            'End If
            
          End If
        End If
    Next I
    If K Then
    'Xoa ket qua cu
        [A7].Resize(K, 13).ClearContents
        'With .[A7].Resize(Tem, 13) Vung nay khai bao thieu dong, chi du cho 1 lop
        'Tong so dong phai =K
        With .[A7].Resize(K, 13)
            .Value = dArr
            .Borders.LineStyle = 1
            .Borders(xlInsideHorizontal).Weight = xlHairline
        End With
            .[C7].Resize(Tem, 2).Borders(xlInsideVertical).LineStyle = xlNone
    End If
End With
Application.ScreenUpdating = True
End Sub
- Được Bác sửa code và giải thích em thấy rất rễ hiểu. Em cảm ơn Bác nhiều
- Em bị kẹt như "Gà mắc tóc" không giải quyết được. Trước em mới viết được lấy ra tổng danh sách của từng ngành theo hệ đào tạo rồi chia thủ công. Nên em đưa lên đây hỏi các Bác để tìm giải pháp về sau.
- Với điều kiện lọc danh sách và chia lớp như vậy; Các bác có cách nào khác để lọc và chia xin hay hướng dẫn giúp em để việc lọc và in danh sách tưng lớp là nhanh nhất không ạ?. Như trường hợp em đưa ra thì vẫn phải thủ công một phần nữa là nhập tên người lập danh sách xuống phía dưới mỗi lớp và chỉnh sao cho mỗi danh sách lớp nằm trong 1 trang in!.
- Em xin cảm ơn!.
 
Upvote 0
Thế là làm lại từ đầu rồi ! Đáng ra bạn cần mọi người giúp cho công việc thì nói rõ yêu cầu để mọi người giúp ! Việc hoc, tìm hiểu riêng . Bạn muốn đốt cháy giai đoạn...thế mệt mọi người lắm !
 
Upvote 0
Web KT

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

Back
Top Bottom