Bài viết: Chiêu thứ 52: Tự động tạo PivotTable

Liên hệ QC

kyo

Nguyễn Khắc Duy
Thành viên danh dự
Tham gia
4/6/06
Bài viết
901
Được thích
2,716
Chiêu thứ 52: Tự động tạo PivotTable


Để tạo một PivotTable, bạn sẽ cần phải tốn một ít công sức. Tuy vậy, thông thường công sức mà bạn bỏ ra là dư thừa khi mà chỉ cần với một chút vốn liếng VBA, bạn có thể tạo một PivotTable đơn giản một cách tự động.

PivotTable là một công cụ mạnh mẽ và rất thông minh mà bạn có thể tận dụng để lưu trữ một bảng hoặc một danh sách nào đó. Mặc dù đôi khi tạo một PivotTable cũng rất phức tạp, tuy nhiên trong nhiều trường hợp, bạn vẫn có thể có một PivotTable cho mình một cách nhanh chóng và dễ dàng. Chẳng hạn như, đa phần người sử dụng đều quan tâm đến hai câu hỏi là làm sao để đếm được tất cả các phần tử trong danh sách và làm sao để tạo một danh sách những phần tử duy nhất từ một danh sách có nhiều phần tử trùng nhau. Trong chiêu thứ 52 này, bạn sẽ học được cách trả lời hai câu hỏi này một cách nhanh nhất.

Giả sử bạn có một danh sách những cái tên trùng nhau như hình dưới đây. Để biết được trong danh sách có bao nhiêu cái tên và tất nhiên là bạn muốn có một danh sách những cái tên duy nhất, bạn hãy làm như sau:


  1. Chọn toàn bộ bảng -> chọn thẻ Insert -> PivotTable (với Excel 2003, chọn Data -> PivotTable Report).
  2. Bạn chọn một nơi để chứa bảng PivotTable, sau đó nó sẽ có giao diện như hình dưới đây.
  3. Kéo tiêu đề "Tên” vào vùng "Row Labels”.
  4. Một lần nữa kéo "Tên” vào vùng "Values” rồi OK.

Với Excel 2003, bạn hãy làm theo trình tự sau:


  1. Data -> PivotTable and PivotChart Report để khởi động PivotTable Wizard.
  2. Trước khi bắt đầu, bạn hãy bảo đảm rằng bạn đã chọn một ô trong danh sách mà bạn muốn tạo PivotTable.
  3. Tại mục "What kind of report do you want to create?”, bạn hãy chọn PivotTable.
  4. Bấm Next, Excel sẽ tự động khoanh vùng cột A, cột dữ liệu mà bạn muốn.
  5. Nếu vùng dữ liệu bạn muốn đã được khoanh vùng, hãy bấm Next. Còn không, bạn có thể dùng chuột để chọn vùng dữ liệu bạn muốn.
  6. Bấm chọn Layout -> kéo "Tên” vào vùng DATA.
  7. Lại kéo "Tên” vào vùng ROW -> OK.
  8. Chọn nơi mà bạn muốn để PivotTable của bạn rồi nhấn Finish.
chieu52-1.jpg


Lưu ý rằng, bạn có thể chọn Sum, Average,… chứ không nhất thiết phải để Count như mặc định của Excel đã dùng (Excel sẽ mặc định phép Count với dữ liệu chuỗi và phép Sum với dữ liệu số).

Và bạn hãy tận hưởng thành quả của mình đi nào.

Tiết kiệm thời gian với Macro

Bạn muốn có một macro thực hiện những công việc mà bạn làm từ nãy đến giờ không? Tức là nó sẽ tạo một PivotTable trên một cột nào đó mà bạn muốn. Nếu bạn dùng chức năng Record, bạn sẽ chỉ nhận được kết quả của cột A, do đó, bạn sẽ cần một chút biến hóa.

Hãy nhấn Alt + F11 để vào cửa sổ Visual Basic Editor -> Insert -> Module và gõ đoạn code sau:


PHP:
Sub GetCount()
    Dim Pt As PivotTable
    Dim strField As String
    strField = Selection.Cells(1, 1).Text
    Range(Selection, Selection.End(xlDown)).Name = "Items"
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, _
        SourceData:="=Items").CreatePivotTable TableDestination:="", _
        TableName:="ItemList"
    Set Pt = ActiveSheet.PivotTables("ItemList")
    ActiveSheet.PivotTableWizard TableDestination:=Cells(3, 1)
    Pt.AddFields RowFields:=strField
    Pt.PivotFields(strField).Orientation = xlDataField
End Sub

Và, trước khi bạn chạy đoạn code này, hãy bảo đảm rằng bạn đã nhấp chuột chọn tiêu đề của danh sách (như ví dụ trước, tiêu đề là "Tên”) và danh sách của bạn không có ô rỗng. Để tránh được ô rỗng, bạn có thể dùng một thủ thuật đơn giản là sort dữ liệu vì ô rỗng sẽ luôn được đưa xuống dòng cuối cùng của danh sách. Đoạn code sẽ tự động tạo một tên dãy động là Items và sẽ tạo một PivotTable dựa trên tên đó và nó sẽ được cư ngụ tại một sheet mới.


Một số bài viết có liên quan:
1/ Chiêu thứ 51: Chia sẻ PivotTable nhưng không chia sẻ cấu trúc dữ liệu của nó
2/ Chiêu thứ 49: Nhận biết tên của dãy trong worksheet

3/ Chiêu thứ 48: Sử dụng dãy động cách linh hoạt nhất
4/ Chiêu thứ 47: Tạo dãy có thể mở rộng và thu hẹp
5/ Chiêu thứ 46: Sử dụng tên để tạo hàm tự tạo
6/ Chiêu thứ 45: Sử dụng cùng một cái tên cho dãy ở những worksheet khác nhau
7/ Chiêu thứ 44: Thay địa chỉ dữ liệu bằng tên
8/ Chiêu 43: Thêm các danh sách có sẵn và cả danh sách tự tạo vào menu chuột phải
9/ Chiêu 42: Giảm danh sách xổ xuống của Validation, sau khi chọn 1
10/ Chiêu 41: Bẫy lỗi để trống dữ liệu

http://www.giaiphapexcel.com/vbb/content.php?420
 
Upvote 0
Web KT

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

Back
Top Bottom