Bài viết: 5 phiền phức của 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,714
5 phiền phức của Pivot Table bạn cần phải biết



Pivot Table là một trong những công cụ rất mạnh của Excel và rất thường được sử dụng trong nhiều trường hợp liên quan đến phân tích dữ liệu và trình bày báo cáo. Tuy nhiên, trong quá trình tương tác với Pivot Table, chắc hẳn bạn cũng phần nào nhận biết được một số mặt hạn chế của công cụ này. GPE xin giới thiệu đến bạn Top 5 phiền phức của Pivot Table mà bạn cần phải biết.

Phiền phức số 1: Những dữ liệu cũ trong danh sách xổ xuống.

Nếu bạn thay đổi dữ liệu nguồn của Pivot Table, sau đó làm mới nó, nhiều lúc bạn vẫn thấy những dữ liệu cũ vẫn còn tồn tại trong danh sách xổ xuống như hình dưới đây.

mPTb7E6Qoqat63-BSqxjqUagsvw1lgWwRcD8gk7jUMgbx0LWtFzULWEmNhWTJN0quyxTi3crG_bp_jY9F0c4apjsqjmbOD4K6aaPiYNS6J-Xw5XfQ6G6OK1yZ3rwMzaR0Ece6LHxX5t2lOTQSjUDrOaIdprNNgq3ekGXJObNcKROdyyRM7AkStzS4T8M8XMkPvg8nIUJhXv5lWLx2ysOJ0pca-qTN_WdA5cAH0O4CCFIHJa1I6Bbr3nrKs7MX6pvDJpjCqssggqnrhVDGbvcMNcw2KnkCnHVIn6R4eAF6BfHhAalGq8V4h-Fcx-HNNrPszSn5PcM8FMFSTXNMNn3tOrpEfprNZ3p9qG5GSEV-5wr58s3BjNzCIfSdUc9IDjB4qvsIDbPGKR6uOj_hRsNCXglzzY7Vvg0Xj8NldpRM_zTjOpW1WDazxee7rblfTWZh5xn2h6lqLtebCMb1EScyWy4e5NlZgyWRsK5i7GPwuxpJq0ibZ6HX7q5zmYzNbeNWVzx2FlYcFDm_mrrHYPK7ozUYul0LBuBreO9P_bf70_K5qNrsBLnTGHlzDLbJ1Asw_ok_FsMccgEpgUz2wPXIbJtGE1U2SUT01bSYhgXzDtjl2R4U3kl=w1028-h457-no


Để có thể loại bỏ nó hoàn toàn, bạn có thể thực hiện cách sau: Nhấn chuột phải vào Pivot Table -> chọn Options -> chọn thẻ Data, chọn None tại thiết lập: "Number of items to retain per field" -> OK -> làm mới lại Pivot Table.

LmgMEFUKsKzCIFV-vof-Tsh9uKLesSDJkGsQMMoL51k6qeWuitS63Are7nVtqDkZep5ubkuR-qCMhppLMQ4O8EdUKt75Scv6dhfC5A-36SR8iJBqcLDNNLmiRDy6dX6k0h4w1aDlKubivcK5a1rH6Sf8mj3Z9111h9JBmmAoNO9r5EiVT55j2QJA4OreRLZpiYFQAsf5epwcey4yMvhuN7E0zi2sjzazcbu6zvKq1eVUxE-EO4kQY1A7F4XTZIAfg2gFtSmH1k6LlDa3VQyNeEeVrO1-eykM2Ef5OEuneSCIX2gBWkjsKIb8VRxi1XGEA2uizX-iobbJfH36qXRPP26_TDCeoeYkYAled4HBF_SyRUVqzPksAMgUitMg0LRnSnJngplpPuD1xiGOA_jfOQO4iX-woyLydSf7nCIl7ukzYVQmGRc_6YQbE4SnevYEVml_HtXxBzsy3y0AuPsRXz00mhetcJRSVrTz_9xQymHFFCrPt4121zioQDeZsSZsQ06jCKNiMlJ3Yh6ZWkuboi0oG18ZcumzBa0Gtgw0QfoAREaO9HJV9FrG1v74Bkr2ASPskNJqZwl1mkOl0efmMAmpvo-hD56Sp4mOuY3LlDPC0ZlBAqj-=w449-h486-no


Hoặc trong trường hợp bạn chỉ muốn chỉnh sửa tay tại thời điểm sử dụng này thôi, bạn có thể làm cách đơn giản hơn, đó là: Loại bỏ tất cả trường (field) của Pivot Table ra ngoài bằng cách kéo thả -> làm mới Pivot Table -> Kéo trả lại trường (field) mà bạn muốn xem.

Phiền phức số 2: Hàm GETPIVOTDATA.

Nếu bạn cố gắng tham chiếu đến một ô của Pivot Table từ một công thức, trong nhiều trường hợp, hàm GETPIVOTDATA sẽ xuất hiện thay vì chỉ đơn giản là địa chỉ của một ô. Không phủ nhận hàm GETPIVOTDATA là một hàm hữu ích, tuy nhiên, đa phần bạn mong muốn địa chỉ ô hơn vì sự tiện lợi của nó trong việc kéo thả công thức tự động.

9pTLiiiiRqzj2wLmoP7n-U0Bhiki-y9t4Ju4rE5ufhrFkSbrgBQbuqxM7GQwOOHSEyZY0hql2wMSGkLRSbaWJa0g-NCqS0z4m461HB5vbUprOlY28lqWZC7Kd9pbPzH6mmi1Sd_bnMDG6MxUiUYzo2pZuYKOuR9eCg00GqiaS3A6iY9l07H9s1e1_gYuxhjD1bTk1Ol_BYp5VdkPHi8Y8wQSfYUVzZmnGoKcLqLUmZQKpcrImyzG826fFJLSzyIQxtA74AAREZhzex-f5Zb3ROy1Z2P6XXM9BGmC0PrGKKlQ0hSa6NQZ5Dzcldsy6whn3QWblmQHNZ_W7a46vQofUCKxM6-fNE5e9P2TOMKtYzb00cmoOd8AkczQaaVype-yuEgSTvCZWqRZqF5rrnQyyx7V3S0E4Ga6RrS11mqK8B4UuMhbcF1zTmGt7-EF94snT6dw6s0MBf-Ioaeg8k5upsvhXD0zDxAOQjZ7fXxtCRV-pccMfA01y8iflQ9SwkcBgDRC1TY2Db_gknKhqOW7zvCw4NAuih5hvxoP8jNzjxTGTXjeXAu78UiP4RMiYfH0i8PSaYImc3rtLJDY3iWwgovOSjkAnt5oeRpZpXn-gVqZqy7dKYnw=w734-h281-no


Để sửa chữa điều này, bạn có thể thay đổi trong thiết lập của Pivot Table bằng cách: Chọn một ô trong Pivot Table -> tại thẻ Pivot Table trên thanh Ribbon, chọn thẻ Options-> chọn phím mũi tên xổ xuống bên cạnh nút Options -> nhấn vào lựa chọn Generate GetPivotData để tắt.

7OHHUiM82EywJVDOwa_a4BiEF9FseO3AagBwsvjZgaSm1RxEEZ623nMPJVTLc0Q-3wZEoWjXVSgGr38ozM3bBT93QwvvfUaJ4zHyrBBM_nYUT980uVswkARB7125BvZrU2O5z0ZhktWRooXiT8IxuUoC0LTrDRFgGniWJ_iekB5dRyS0W-BsjvOuKXVT39oN5DO1_zYB4W5Si8ZfWx8B_T6hv4Z6MP3hKh6k_2XvG8HVSwVEkltlO8Q0JRgxDaSygbmmji-iwbk0eGBvCCrGcjtH4kjaNgXkOxnw7ogtgr3Ty2mHWjtjUMIsdEdQMTS5iJzlWY_xba4vfQ-fT2ZP3eD-haVNXLeM-BFVdpkXhB6KLkvGPSrqrUiTN-dP59eVOqHq-feSZzszUWz3FaXhcplexDq3MD0cWXsKQi1db4KlXxLBTbrqUkJg4UOITzwQYnBGcc2Eq0_1VJd40H9FhrVueBPAtJO-9c5FCCaCmjQwFn-77rSMurFxRJGJomqQsCjfhucblTB6A2g4xa9MATCqNXMgItHZv_YCfmBzjSUf0cTy-letJ0KcFCL5IrQb6nqckWLEuH6h4WSb5Jdg9lPUN5DL-Zw75nUjiQlHMawyrUNplFuH=w825-h175-no


Phiền phức số 3: Hàm COUNT xuất hiện thay vì hàm SUM.

Khi bạn thêm một trường (field) vào Pivot Table, thông thường giá trị sẽ được tính bằng hàm SUM. Tuy nhiên, nhiều lúc bạn sẽ thấy hàm COUNT và đó là điều bạn không hề mong muốn.

u-bEmOHvWSmKN65yFqmaAR3hz3g3kVYX3Ikyr04l-5q1I-jmaAe6QO3XyQFLQU0DA-zvxEftOCYA55qG-Hw-e5JBjrIp1m_DCFRbUT3wwzfQtsvFQ4wkV-mv2yr-4fyGuu7YxJtuKWtMcZjnw4hCIxvo5b_kIb4206zt9JFyTNUgskm3IMvA8uQsYy48ea445rISSYsP2JDl_0C1oIhohnP3Z75AdihJy7pLQ4Iyo41jw2_tsltN3L_FrTOmkTYjjLWaZKwzT1kX8pKBuHu2kvQMaDJAjzi4kMQBUZMyol6SLrIQGCzHpNyvXSIU8BdtPM7QA7GkxgMgxKwQaodU8QOMkgkoZErWUk36jxd7E8SqSeWgHw7fgkz0e5WaEcRUVuYVzqxJyHI_zzkVcNtQLo1rim1JVHs7aGEdUabuSQ8xQivIft2dRCst9rnF_sinQcXoavok5wcpMyIUXUq9HuIISnhxjTH8e0Rb61SXhisnCbwzQ-JWc-4FALPcpbS_a1H5gN64wpO0Dw4SHX5kgcZFC4mPQZk3UEHxKWTbmwqyqKoJhzr6CWe496sxhZFjPDnY27Qu5O45qsxzjFvz1VspX1mrS5dpMStd7363wDVZwhp4kLAS=w739-h480-no


Để sửa chữa điều này, cách dễ nhất chính là bạn tự thay đổi hàm sử dụng trong Pivot Table, hoặc bảo đảm rằng dữ liệu của bạn không có giá trị chữ hoặc ô trống. Hoặc, bạn có thể sử dụng macro sau trong trường hợp bạn có quá nhiều trường cần sửa chữa.

Mã:
Sub SumAllValueFields()
  Dim pt As PivotTable
  Dim pf As PivotField
  Dim ws As Worksheet
 
  Set ws = ActiveSheet
  Set pt = ws.PivotTables(1)
  Application.ScreenUpdating = False
 
    pt.ManualUpdate = True
    For Each pf In pt.DataFields
      pf.Function = xlSum
    Next pf
    pt.ManualUpdate = False
 
  Application.ScreenUpdating = True
  Set pf = Nothing
  Set pt = Nothing
  Set ws = Nothing
End Sub

Phiền phức số 4: Dữ liệu mới không xuất hiện.

Khi bạn có thêm một dữ liệu mới, và bỗng nhiên bạn nhận ra là Pivot Table không tự động lấy dữ liệu mới này dù rằng bạn đã làm mới rất nhiều lần bởi vì địa chỉ nguồn không quét tới dữ liệu mới đó.

Bạn có thể khắc phục sự cố này bằng 2 cách:
- Cách thông thường: Bạn quét trước một khoảng dữ liệu lớn, ví dụ từ dòng 1 đến dòng 10000.
- Một cách khác chuyên nghiệp hơn: Bạn dùng liên kết động thông qua chức năng Table của Excel hoặc sử dụng Name động. Chi tiết bạn có thể tham khảo tại GPE: + Table và + Name động.

Phiền phức số 5: Tất cả dữ liệu không hiện hết.

Nếu bạn có nhiều trường trong khu vực Row, có khả năng tất cả dữ liệu của bạn sẽ không được liệt kê hết nếu nó không có đầy đủ số liệu. Ví dụ, bạn có 3 danh mục đầu tư nhưng trong dữ liệu chỉ đề cập đến hai, như vậy, trên Pivot Table chỉ hiện ra có 2 danh mục mà thôi, còn danh mục cuối cùng sẽ không được hiện ra.

Vậy, để tránh phiền phức, bạn có thể linh hoạt thay đổi thiết lập của Pivot Table. Chi tiết bạn có thể xem tại đây.

Chúc bạn thành công.

Một số bài viết có liên quan:
1/ PivotTable trong Excel 2010 - 2013
2/ Làm cách nào để hiện các danh mục không có dữ liệu trong Pivot Table?
3/ PivotTable & PivotChart 2007 - Từ căn bản đến nâng cao (phần 7)
4/ PivotTable & PivotChart 2007 - Từ căn bản đến nâng cao (phần 6)
5/ PivotTable & PivotChart - Từ căn bản đến nâng cao (phần 5)
6/ PivotTable & PivotChart - Từ căn bản đến nâng cao (phần 4)
7/ PivotTable & PivotChart - Từ căn bản đến nâng cao (phần 3)
8/ PivotTable & PivotChart - Từ căn bản đến nâng cao (phần 2)
9/ PivotTable & PivotChart - Từ căn bản đến nâng cao (phần 1)
10/ Ebook: Dữ liệu & Báo cáo trong Excel 2013
 
Lần chỉnh sửa cuối:
Upvote 0
Cho em hỏi 1 gúc mắt mà từ đó đến giờ em mò hoài không ra. Làm sao để sử dụng pivot table cho các dữ liệu mà 1 dòng trả lời cho nhiều cột. ví dụ: 1 người sẽ có nhiều sở thích, khi được hỏi bạn có những sở thích nào, thì sẽ có 2, 3 câu trả lời (như bên dưới).
câu hỏi: thống kê theo Sở thích theo từng giới tính?

P/s: Câu hỏi này chỉ xoay quanh Pivot Table thôi, em không bàn đến trường hợp sử dụng VBA hoặc phải format lại bảng tính. Dùng SPSS thì không nói làm gì.

IDGioitinhSothich_1Sothich_2Sothich_3Sothich_4Sothich_5
10011123
10022312
1003112
10042456
10051678
100617891011


Hóng cao nhân :( ạ. Kể từ khi thành thạo pivot table (hơi tự tin :p) đến giờ, câu hỏi này cứ quanh quẩn trong đầu em
 
Cho em hỏi 1 gúc mắt mà từ đó đến giờ em mò hoài không ra. Làm sao để sử dụng pivot table cho các dữ liệu mà 1 dòng trả lời cho nhiều cột. ví dụ: 1 người sẽ có nhiều sở thích, khi được hỏi bạn có những sở thích nào, thì sẽ có 2, 3 câu trả lời (như bên dưới).
câu hỏi: thống kê theo Sở thích theo từng giới tính?

P/s: Câu hỏi này chỉ xoay quanh Pivot Table thôi, em không bàn đến trường hợp sử dụng VBA hoặc phải format lại bảng tính. Dùng SPSS thì không nói làm gì.

IDGioitinhSothich_1Sothich_2Sothich_3Sothich_4Sothich_5
10011123
10022312
1003112
10042456
10051678
100617891011


Hóng cao nhân :( ạ. Kể từ khi thành thạo pivot table (hơi tự tin :p) đến giờ, câu hỏi này cứ quanh quẩn trong đầu em
xin hỏi bạn cái chữ màu đỏ là gì mà tôi nghĩ mãi vẫn không dịch được ra nghĩa.
bảng của bạn là bảng data của pivot table hay là bảng kết quả.
Bạn nên đưa file lên cho tiện
 
Để khắc phụ phiền phức số 1 của pivot table có thể dùng cách này nữa :
Mã:
Sub CLEAR_PIVOTCACHE()


 Dim WS As Worksheet, PVT As PivotTable
  For Each WS In Worksheets
    For Each PVT In WS.PivotTables
      With PVT.PivotCache
        .MissingItemsLimit = xlMissingItemsNone
        .Refresh
      End With
    Next PVT
  Next WS
  Set PVT = Nothing
  Set WS = Nothing
End Sub
 
xin hỏi bạn cái chữ màu đỏ là gì mà tôi nghĩ mãi vẫn không dịch được ra nghĩa.
bảng của bạn là bảng data của pivot table hay là bảng kết quả.
Bạn nên đưa file lên cho tiện


SPSS là chương trình thống kê thôi. Ý mình là có thể nào chỉ dùng Pivot Table chạy những câu có cấu trúc như trên hay không?
 

File đính kèm

  • Demo.xlsx
    13.6 KB · Đọc: 4
Lần chỉnh sửa cuối:
PP số 4 cũng có thể chỉ cần dùng chiêu này: chèn dữ liệu mới (insert copied cells) vào hàng đầu ngay dưới tên trường (cho nó tiện), rồi làm mới là ok thôi!
 
Web KT
Back
Top Bottom