S
BÀI 1: ĐẾM XEM 5 LOAI CÂY NÀO CÓ NHIỀU TRONG RỪNG
Ví dụ chúng ta có bảng liệt kê các loại cây gỗ có trong 1 khu rừng, như được liệt kê trên cột [A] như sau:
Loại cây
Bứa
Lim
Máu chó
Dẻ
Trám
Trâm
Dẻ
Lim
Táu
Trắt
Máu chó
Dẻ
Trám
Trâm
Dẻ
. . .
Yêu cầu đề ra là thống kê 05 loại cây thường xuất hiện nhất trong khu rừng, từ cao đến thấp
Để thực hiện nhiệm vụ này, ta dùng macro như sau để trợ giúp:
Mã:
Option Explicit
Sub Dém()
Dim WF As Object, Cls As Range, Rng As Range
Set WF = Application.WorksheetFunction
Set Rng = Range([A1], [A1].End(xlDown))
Rng.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"D1"), Unique:=True
For Each Cls In Range([d2], [d2].End(xlDown))
[h2].Value = Cls.Value
Cls.Offset(, 1).Value = WF.DCountA(Rng, [A1], [H1:H2])
Next Cls
[E2].Resize(Rng.Rows.Count).Interior.ColorIndex = 2
Columns("D:E").Select
Selection.Sort Key1:=Range("E2"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1
[D7].Resize(Rng.Rows.Count, 2).Font.ColorIndex = 2
[E2].Resize(5).Interior.ColorIndex = 38
[c2].Select
End Sub
Trình tự các bước đã tiến hành:
Bước chuẩn bị: Để áp dụng công thức/hàm DMAX(), ta cần lập ra vùng tiêu chuẩn (Criteria);
Vậy nên tại [H1] ta áp công thức =[A1]
& ta biết rằng vùng chuẩn thông thường tối thiểu là 2 ô;
Ở đây ô thứ 2 là ô [H2], mà dữ liệu ô này sẽ được macro cung cấp trước mỗi lần cần tính toán lượng lập lại của từng loại cây.
(1) Lọc ra danh sách duy nhất các loại cây gỗ đã được thống kê trong cơ sở dữ liệu tại cột [A]
(Danh sách này được cho hiện ra ở cột [D]
(2) Duyệt lần lượt từng loại cây theo danh sách duy nhất vừa lập (ở cột [D]) .Dùng hàm DMAX() trong bảng tính Excel để hiện kết quả tương ứng ở ô kề bên fải ô chứa loại cây đang duyệt.
(3) Xếp hai cột [D:E] theo số liệu giảm dần cột [E]
(4) Định dạng để người ngoài chỉ thấy những dữ liệu cần thiết. (Ẩn đi những gì không cần thiết)
Đính kèm
Sửa lần cuối: