Nhờ giúp về hàm liệt kê, thống kê

Liên hệ QC

illicitawakening

Thành viên mới
Tham gia
16/8/10
Bài viết
13
Được thích
1
Chào mọi người, mình đang cần thống kê 1 vài dữ liệu trong bảng lương nhưng làm hoài không ra, nhờ mọi người giúp dùm.

Thống kê theo 2 điều kiện, mình có ghi yêu cầu trong file luôn, cám ơn đã giúp đỡ.

file:
http://www.giaiphapexcel.com/forum/attachment.php?attachmentid=75325&stc=1&d=1323770569

http://mediafire.com/?cu586ixbcdb2ga2

Yêu cầu:

Thống kê theo nhóm (cột số 2) và mới, cũ (cột số 3)

Đếm xem mỗi nhóm có bao nhiêu phiếu mới và cũ, nếu số phiếu trùng nhau thì chỉ tính là 1 phiếu.\

Liệt kê số phiếu mới và cũ ra (nếu có thể)
 
Lần chỉnh sửa cuối:
Bạn xem trong file đính kèm & kiểm kỹ nha.

Fiếu đang được liệt kê ngược trật tự

Muốn suôi suôi chút thì chờ thêm!
 

File đính kèm

(ó thể lắm chứ bạn, nhưng chỉ lược sơ thôi!

Cám ơn bạnhttp://www.giaiphapexcel.com/forum/member.php?10-SA_DQ, nếu có thể thì bạn nói sơ về cách làm luôn nha.

(*) Ở [G3] ta áp Validation, nội dung gồm [C3];

(*) Ta gán macro sự kiện sau vô dính kết vô nó:

PHP:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, [G3]) Is Nothing Then
 'Khai Báo Các Bién Su Dung:'
    Dim CSDL As Range, Cls As Range, sRng As Range
   Dim Rws As Long, SoFieu As Byte
   Dim MC As String, MyAdd As String, Fieu As String
   Const DF As String = "; "
   
   Set CSDL = [B3].CurrentRegion  '<- Gán Vùng Du Lieu Vo Bién'
   Rws = CSDL.Rows.Count           '<- Gán Só Dòng Trng Bién Vùng Vo Bién Kieu Long'
   Set CSDL = [B3].Resize(Rws)   '<- Thu Nho Vùng Trong Bién CSDL Da Gán'
   [g12].Resize(9, 2).ClearContents   '<- Xóa Du Lieu Cu'
   For Each Cls In Range([f12], [f12].End(xlDown))   'Thiet Lap Vòng Lap Duyet Vùng Tù [F12] cho đén Cuói'
'Fàn Cau Lenh Dàu Thuc Té Là Du (Do Lich Su De Lai!)'
      [j3].Value = Cls.Value:             MC = UCase$(Left(Target.Value, 1))
'Fàn Sau: Dem Ký Tu Đàu Cua O Su Kien Chuyen Thành Viét Hoa & Gán Vo Bién'
      Set sRng = CSDL.Find(Cls.Value, , xlFormulas, xlWhole) 'Áp Dung Fuong Thúc Tìm Kiém Du Lieu Tai CSDL'
      If Not sRng Is Nothing Then    ' Néu T2m Tháy Thì Thuc Hien Các Dòng Lenh ->D10'
1         MyAdd = sRng.Address   'Gán Dia Chi Tìm Duoc Vo Bién Da Khai Báo'
         Do      'Tao Vòng Lap Tìm Hét Các O Trong Vung Tìm Kiém'
2            If sRng.Offset(, 1).Value = MC Then     'Néu Ô Canh Fai Lièn Kè Có Tri = Bién MC Thì'
        'Néu Trong Chuoi Cua Bién Fieu Chua Có Ký Só Cua O Ben Fai Cách 1 O Thì:'     
               If InStr(Fieu, CStr(sRng.Offset(, 2).Value)) = False Then
                   'Thuc Hien Chép Tiép Vo Dau Cua Bién Này:'
4                  Fieu = CStr(sRng.Offset(, 2).Value) & DF & Fieu
                  SoFieu = SoFieu + 1   '<- Gia Tang Tri Trong Bién SoFieu lên 1'
6               End If              'Két Thúc D/K Tù Dòng Lenh 3'
            End If                   'Két Thúc D/K Tù Dòng Lenh 2'
8            Set sRng = CSDL.FindNext(sRng)        'Ra Lenh Tìm Tiép Cho Dén Hét'
         Loop While Not sRng Is Nothing And sRng.Address <> MyAdd   'D/K Két Thúc Vòng Lap'
10      End If                      'Két Thúc D/K Tù Dòng Lenh <1 '
      'Láy Tri Trong Bién Gán Vo O & Cho Bién Vè Xuát Fát Diem:' 
      Cls.Offset(, 2).Value = Fieu:       Fieu = ""
12      Cls.Offset(, 1).Value = SoFieu:     SoFieu = 0  '-Nhu Tren-'
   Next Cls
 End If
End Sub
:=\+
 
Web KT

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

Back
Top Bottom