David có nhiều PivotTable được lọc theo năm. Trong dữ liệu của anh ấy, có một trường riêng biệt cho năm (các giá trị 2016, 2017, 2018, v.v., được lấy từ hàm Year). Ông loại trừ những năm cũ hơn trong hầu hết các trường hợp và báo cáo về những năm gần đây hơn. Khi một năm mới đến, thật là một quá trình tẻ nhạt đối với David khi chỉnh sửa mọi PivotTable và chọn năm gần đây nhất. Anh ấy tự hỏi liệu có cách nào để chỉ định các giá trị lựa chọn cho bộ lọc PivotTable để anh ấy không cần phải trải qua quá trình chỉnh sửa tẻ nhạt hay không.

Có lẽ cách dễ nhất để làm điều này là thêm một cột duy nhất vào dữ liệu nguồn cho PivotTable của bạn. Cột có thể chứa một công thức đơn giản chỉ định xem hàng có nằm trong phạm vi mong muốn để đưa vào PivotTable hay không. Ví dụ: nếu cột A chứa ngày giao dịch cho hàng, thì bạn có thể thêm thông tin sau vào cột được thêm:

=YEAR(A2)>YEAR(NOW())-3

Kết quả của công thức là Đúng hoặc Sai, tùy thuộc vào giao dịch có trong vòng ba năm trước đó hay không. Do đó, nếu công thức này được đánh giá vào năm 2018, thì bất kỳ giao dịch nào trong năm 2016, 2017 và 2018 sẽ trả về True; tất cả những người khác sẽ là Sai. Sau đó, trong định nghĩa PivotTable của bạn, bạn có thể lọc dựa trên nội dung của cột cụ thể này, do đó đảm bảo rằng chỉ những hàng Đúng đó mới được đưa vào PivotTable.

Nếu bạn thích một giải pháp dựa trên macro, bạn có thể dễ dàng phát triển một giải pháp kiểm tra từng PivotTable và thay đổi PivotField có tên là “Year”

sao cho nó bằng một năm mong muốn. Phần sau cho thấy bạn có thể dễ dàng thực hiện một thay đổi như vậy:

Sub ChangePivotYear()

Dim sht As Worksheet     Dim pvt As PivotTable     Dim iYear as Integer

iYear = 2018     ' Change to desired year     For Each sht In Worksheets         For Each pvt In sht.PivotTables             pvt.PivotFields("Year").ClearAllFilters             pvt.PivotFields("Year").CurrentPage = iYear        Next pvt     Next sht End Sub

Macro đặt trường thành 2018; nếu bạn muốn sử dụng một năm khác, chỉ cần thay đổi những gì được gán cho biến Năm. Cũng lưu ý rằng macro ảnh hưởng đến tất cả các PivotTable trong toàn bộ sổ làm việc.

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (12571) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365.