Bài Tập Excel Nâng Cao: Từ Cơ Bản Đến Chuyên Gia

Mục lục bài viết

Mở Đầu – Tại Sao Cần Nâng Cao Kỹ Năng Excel?

Microsoft Excel không chỉ là một công cụ tính toán đơn giản, mà còn là nền tảng cho việc phân tích dữ liệu, tự động hoá quy trình và đưa ra quyết định kinh doanh. Khi đã thành thạo các tính năng cơ bản như nhập dữ liệu, định dạng ô, và sử dụng các hàm SUM, AVERAGE, hầu hết người dùng vẫn cảm thấy giới hạn trong việc xử lý các dự án phức tạp. Vì vậy, việc thực hành bài tập Excel nâng cao không chỉ giúp củng cố kiến thức mà còn mở ra cánh cửa tới các kỹ năng chuyên sâu như:

  • Phân tích dữ liệu đa chiều (PivotTable, Power Pivot)
  • Tự động hoá quy trình bằng Macro và VBA
  • Xây dựng mô hình dự báo với các hàm thống kê và công cụ phân tích
  • Tối ưu hoá hiệu suất khi làm việc với dữ liệu lớn (hàng triệu bản ghi)

Bài viết này sẽ cung cấp một loạt bài tập thực tế, mỗi bài tập được thiết kế để giải quyết một vấn đề thực tiễn và đồng thời rèn luyện các kỹ năng quan trọng. Bạn sẽ được hướng dẫn chi tiết từng bước, kèm theo giải pháp mẫu và lời giải thích sâu sắc. Hãy chuẩn bị sẵn sàng, mở Excel lên và bắt đầu hành trình trở thành chuyên gia Excel!

1. Bài Tập 1 – Tạo PivotTable Động Với Bộ Lọc Nhiều Điều Kiện

Mô tả bài tập

Bạn có một bảng dữ liệu bán hàng gồm các cột: Ngày, Sản phẩm, Khu vực, Doanh số, Số lượng. Yêu cầu:

  1. Tạo PivotTable tổng hợp doanh thu và số lượng bán ra cho từng sản phẩm.
  2. Thêm bộ lọc cho Khu vực và Tháng.
  3. Khi người dùng chọn một khu vực và một tháng, PivotTable tự động cập nhật kết quả.

Các bước thực hiện

Bước 1: Chuẩn bị dữ liệu

  • Đảm bảo dữ liệu được định dạng dưới dạng Table (Ctrl + T). Điều này giúp PivotTable tự động mở rộng khi thêm dữ liệu mới.
  • Đặt tên Table là tblBanHang.

Bước 2: Thêm cột “Tháng” và “Năm”

  • Thêm cột phụ Tháng =TEXT(@Ngày,”mmmm”)
  • Thêm cột phụ Năm =YEAR(@Ngày)
  • Khi dữ liệu đã có cột Tháng, chúng ta sẽ dùng nó trong bộ lọc.

Bước 3: Tạo PivotTable

  • Chọn bất kỳ ô nào trong Table → Insert → PivotTable.
  • Đặt PivotTable trong một sheet mới, đặt tên là Pivot_BanHang.

Bước 4: Cấu hình trường

  • Rows: Sản phẩm
  • Values: Doanh số (đặt Summarize Values By = Sum) và Số lượng (Sum).
  • Filters: Khu vực, Tháng.

Bước 5: Thêm Slicer (Bộ lọc trực quan)

  • Click vào PivotTable → PivotTable Analyze → Insert Slicer.
  • Chọn Khu vực và Tháng.
  • Đặt Slicer ở vị trí thuận tiện, thay đổi kích thước và màu sắc nếu muốn.

Bước 6: Kiểm tra tính động

  • Khi bạn click vào một khu vực và một tháng trên Slicer, PivotTable sẽ tự động hiển thị doanh thu, số lượng cho các sản phẩm trong điều kiện đã chọn.

Giải thích chi tiết

  • Table: Khi dữ liệu được định dạng thành Table, Excel sẽ tự động mở rộng phạm vi dữ liệu cho PivotTable mỗi khi bạn thêm bản ghi mới, tránh việc phải cập nhật nguồn dữ liệu thủ công.
  • Slicer: Là công cụ trực quan giúp người dùng không cần mở menu lọc, giảm thiểu lỗi nhập liệu.
  • PivotTable Động: Khi dữ liệu thay đổi (thêm, xóa), chỉ cần Refresh (Alt+F5) để cập nhật báo cáo.

Mở rộng

  • Thêm biểu đồ PivotChart để hiển thị xu hướng doanh thu theo thời gian.
  • Sử dụng Calculated Field để tính lợi nhuận = Doanh số – Chi phí (nếu có cột Chi phí).

2. Bài Tập 2 – Sử Dụng Hàm ARRAY Động (Dynamic Array) Để Tạo Danh Sách Độc Đáo

Mô tả bài tập

Bạn có danh sách khách hàng trong cột A (có thể trùng nhau). Yêu cầu:

  1. Tạo danh sách không trùng lặp của khách hàng trong cột D.
  2. Khi dữ liệu trong cột A thay đổi (thêm, xóa, sửa), danh sách ở cột D tự động cập nhật.

Các hàm cần dùng

  • UNIQUE – Trích xuất các giá trị duy nhất.
  • SORT – Sắp xếp danh sách (tùy chọn).

Công thức

Ở ô D2 nhập:

=SORT(UNIQUE(FILTER(A2:A1000, A2:A1000<>"")))

Giải thích:

  • FILTER(A2:A1000, A2:A1000<>"") loại bỏ các ô trống.
  • UNIQUE(...) lấy các giá trị không lặp.
  • SORT(...) sắp xếp tăng dần (có thể bỏ nếu không cần).

Lưu ý khi áp dụng

  • Đảm bảo Excel phiên bản Office 365 hoặc Excel 2026 trở lên, vì hàm Dynamic Array chỉ có trong các phiên bản này.
  • Công thức trả về mảng và sẽ “tràn” (spill) ra các ô phía dưới tự động. Không để dữ liệu nào trong cột D2:Dxxx để tránh lỗi #SPILL!.

Mở rộng

  • Thêm cột E để đếm số lần xuất hiện của mỗi khách hàng bằng công thức:
=COUNTIF($A$2:$A$1000, D2#)
  • Kết hợp với XLOOKUP để lấy thông tin chi tiết (địa chỉ, số điện thoại) từ một bảng khác.

3. Bài Tập 3 – Tự Động Hóa Báo Cáo Hằng Tháng Bằng Macro VBA

Mô tả bài tập

Bạn cần xuất báo cáo bán hàng hàng tháng sang file PDF và gửi email cho quản lý. Yêu cầu:

  1. Tạo macro ghi lại các bước: lọc dữ liệu tháng hiện tại, tạo PivotTable, định dạng, xuất PDF.
  2. Gửi email tự động kèm file PDF đính kèm.

Bước 1: Mở Trình Soạn Thảo VBA

  • Nhấn Alt + F11 → Insert → Module.

Bước 2: Viết Macro

Sub BaoCaoHangThang() Dim wsData As Worksheet, wsReport As Worksheet Dim pt As PivotTable Dim rngData As Range Dim strMonth As String, strYear As String Dim pdfPath As String Dim OutApp As Object, OutMail As Object '--- Đặt biến --- Set wsData = ThisWorkbook.Sheets("Dữ liệu") Set wsReport = ThisWorkbook.Sheets("Báo cáo") '--- Xác định tháng hiện tại --- strMonth = Format(Date, "mmmm") strYear = Year(Date) '--- Xóa PivotTable cũ nếu có --- On Error Resume Next wsReport.PivotTables("PT_BanHang").TableRange2.Clear On Error GoTo 0 '--- Định nghĩa vùng dữ liệu --- Set rngData = wsData.ListObjects("tblBanHang").Range '--- Tạo PivotTable --- Set pt = wsReport.PivotTables.Add(PivotCache:=ThisWorkbook.PivotCaches.Create( _ SourceType:=xlDatabase, SourceData:=rngData), _ TableDestination:=wsReport.Range("A3"), TableName:="PT_BanHang") With pt .PivotFields("Sản phẩm").Orientation = xlRowField .PivotFields("Doanh số").Orientation = xlDataField .PivotFields("Doanh số").Function = xlSum .PivotFields("Số lượng").Orientation = xlDataField .PivotFields("Số lượng").Function = xlSum .PivotFields("Tháng").Orientation = xlPageField .PivotFields("Tháng").CurrentPage = strMonth End With '--- Định dạng nhanh --- wsReport.Range("A1").Value = "BÁO CÁO BÁN HÀNG THÁNG " & UCase(strMonth) & " " & strYear wsReport.Range("A1").Font.Size = 16 wsReport.Range("A1").Font.Bold = True '--- Xuất PDF --- pdfPath = ThisWorkbook.Path & "\BaoCao_" & strMonth & "_" & strYear & ".pdf" wsReport.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfPath, _ Quality:=xlQualityStandard, IncludeDocProperties:=True, _ IgnorePrintAreas:=False, OpenAfterPublish:=False '--- Gửi email --- Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0) With OutMail .To = "giamdoc@congty.com" .CC = "" .BCC = "" .Subject = "Báo cáo bán hàng tháng " & strMonth & " " & strYear .Body = "Kính gửi Quý vị," & vbCrLf & vbCrCrLf & _ "Đính kèm là báo cáo bán hàng tháng " & strMonth & " " & strYear. _ vbCrLf & vbCrLf & "Trân trọng," .Attachments.Add pdfPath .Send 'Hoặc .Display để xem trước End With MsgBox "Báo cáo đã được tạo và gửi thành công!", vbInformation
End Sub

Giải thích mã

PhầnMô tả
Set wsDataĐặt sheet chứa dữ liệu gốc.
strMonth, strYearLấy tháng và năm hiện tại để lọc và đặt tên file.
PivotCaches.CreateTạo bộ nhớ đệm cho PivotTable, giúp tốc độ nhanh hơn.
CurrentPage = strMonthLọc PivotTable chỉ hiển thị dữ liệu tháng hiện tại.
ExportAsFixedFormatXuất sheet báo cáo dưới dạng PDF.
Outlook.ApplicationTạo đối tượng Outlook để gửi email.

Lưu ý khi chạy macro

  • Đảm bảo Macro Security cho phép chạy macro (Trust Center → Macro Settings).
  • Outlook phải được cài đặt và đăng nhập trên máy tính.
  • Thư mục lưu file PDF phải tồn tại; trong ví dụ trên, file sẽ lưu cùng thư mục của workbook.

Mở rộng

  • Thêm vòng lặp (For Each) để tạo báo cáo cho nhiều tháng trong một năm và gửi từng email.
  • Sử dụng Application.ScreenUpdating = False để tăng tốc độ khi xử lý dữ liệu lớn.

4. Bài Tập 4 – Sử Dụng Power Query Để Làm Sạch Dữ Liệu

Mô tả bài tập

Bạn nhận được một file CSV chứa dữ liệu khách hàng: cột Tên, Ngày sinh, Số điện thoại, Email. Tuy nhiên:

  • Một số ô Ngày sinh đang ở dạng text “dd/mm/yyyy”.
  • Cột Số điện thoại chứa dấu gạch ngang và khoảng trắng.
  • Có nhiều bản ghi trùng lặp (cùng tên và email).

Yêu cầu:

  1. Dùng Power Query (Get & Transform) để chuyển đổi Ngày sinh sang kiểu Date.
  2. Làm sạch Số điện thoại chỉ giữ lại số.
  3. Loại bỏ bản ghi trùng lặp dựa trên Tên và Email.

Các bước thực hiện

Bước 1: Nhập dữ liệu vào Power Query

  • Data → Get Data → From Text/CSV → Chọn file CSV.
  • Click Transform Data để mở Power Query Editor.

Bước 2: Chuyển đổi kiểu dữ liệu Ngày sinh

  • Chọn cột Ngày sinh.
  • Transform → Data Type → Date.
  • Nếu Excel không nhận dạng đúng định dạng, chọn Using Locale... → Locale: Vietnamese (Vietnam) → Date format: dd/MM/yyyy.

Bước 3: Làm sạch Số điện thoại

  • Chọn cột Số điện thoại.
  • Transform → Replace Values → Thay “-” bằng “”.
  • Lặp lại: Replace “ ” (space) bằng “”.
  • Hoặc dùng Transform → Extract → Digits Only (có trong Power Query 2026 trở lên).

Bước 4: Loại bỏ trùng lặp

  • Chọn cả hai cột Tên và Email (Ctrl + click).
  • Home → Remove Rows → Remove Duplicates.

Bước 5: Đóng và tải dữ liệu

  • Home → Close & Load → Chọn Load To… → Table trên một sheet mới, đặt tên tblKhachHang_Sach.

Giải thích chi tiết

  • Power Query thực hiện các bước xử lý dữ liệu một cách tái sử dụng. Khi nguồn dữ liệu thay đổi, chỉ cần Refresh (Ctrl + Alt + F5) để cập nhật toàn bộ quy trình làm sạch.
  • Việc xóa trùng lặp dựa trên nhiều cột giúp bảo đảm không mất dữ liệu hợp lệ khi chỉ dựa vào một cột duy nhất.

Mở rộng

  • Thêm cột Tuổi bằng công thức tùy chỉnh trong Power Query:
= Duration.Days(DateTime.LocalNow() - Ngày sinh) / 365
  • Thêm cột Nhóm khách hàng dựa trên Doanh thu (nếu có) bằng Conditional Column.

5. Bài Tập 5 – Xây Dựng Mô Hình Dự Báo Với Hàm FORECAST.LINEAR

Mô tả bài tập

Bạn có dữ liệu doanh thu hàng tháng trong 3 năm (36 bản ghi) ở cột B (tháng) và C (doanh thu). Yêu cầu:

Bài Tập Excel Nâng Cao
Bài Tập Excel Nâng Cao
  1. Dự báo doanh thu cho 6 tháng tiếp theo (tháng 37‑42).
  2. Vẽ biểu đồ kết hợp thực tế và dự báo.

Sử dụng hàm FORECAST.LINEAR

Công thức dự báo:

=FORECAST.LINEAR(x, known_y's, known_x's)
  • x là giá trị tháng cần dự báo (ví dụ 37).
  • known_y's là dải doanh thu thực tế (C2:C37).
  • known_x's là dải tháng (B2:B37).

Bước thực hiện

  1. Tạo cột tháng: Trong ô B2 nhập 1, kéo xuống tới B37 để có 36 tháng.
  2. Nhập doanh thu thực tế trong cột C.
  3. Thêm cột dự báo: Trong ô D38 (tháng 37) nhập công thức:
=FORECAST.LINEAR(B38,$C$2:$C$37,$B$2:$B$37)
  1. Kéo công thức xuống tới D43 (tháng 42).
  2. Định dạng: Đánh dấu cột B (tháng) và cột C (doanh thu thực tế) → Insert → Line Chart.
  3. Thêm series dự báo: Chuột phải vào biểu đồ → Select Data → Add → Series values = =$D$38:$D$43.

Giải thích

  • Hàm FORECAST.LINEAR thực hiện hồi quy tuyến tính (least squares) dựa trên dữ liệu đã cho.
  • Độ chính xác phụ thuộc vào tính tuyến tính của dữ liệu; nếu dữ liệu có mùa vụ, nên dùng Holt‑Winters (công cụ Analysis ToolPak) hoặc Power Pivot với mô hình thời gian.

Mở rộng

  • Sử dụng Data Analysis → Regression để thu được hệ số R², kiểm tra độ phù hợp.
  • Thêm độ tin cậy bằng cách tính khoảng tin cậy 95% (công thức CONFIDENCE.NORM).

6. Bài Tập 6 – Xây Dựng Dashboard Tương Tác Với Slicer và Chart

Mô tả bài tập

Bạn muốn tạo một Dashboard hiển thị:

  • Doanh thu theo khu vực (cột Khu vực).
  • Lượng bán theo sản phẩm (cột Sản phẩm).
  • Biểu đồ đường xu hướng doanh thu tháng.

Dashboard cần cho phép người dùng chọn khu vực và khoảng thời gian để lọc dữ liệu ngay lập tức.

Các thành phần cần chuẩn bị

Thành phầnMô tả
PivotTable 1Tổng doanh thu theo khu vực
PivotTable 2Lượng bán theo sản phẩm
PivotChartĐường xu hướng doanh thu tháng
SlicerBộ lọc Khu vực và Tháng
TimelineBộ lọc thời gian (năm – tháng)

Các bước thực hiện

Bước 1: Chuẩn bị dữ liệu Table

  • Đảm bảo dữ liệu bán hàng được định dạng thành Table tblBanHang và có cột Ngày (định dạng Date).

Bước 2: Tạo PivotTable cho Doanh thu khu vực

  • Insert → PivotTable → Chọn Table → Đặt vị trí trong sheet “Dashboard”.
  • Rows: Khu vực
  • Values: Doanh số (Sum)

Bước 3: Tạo PivotTable cho Lượng bán sản phẩm

  • Tương tự, Rows: Sản phẩm → Values: Số lượng (Sum).

Bước 4: Tạo PivotChart đường xu hướng

  • Chọn PivotTable tổng doanh thu theo Ngày (Rows = Ngày, Values = Doanh số).
  • Insert → Line Chart. Đặt chart trong Dashboard.

Bước 5: Thêm Slicer và Timeline

  • Click vào bất kỳ PivotTable nào → PivotTable Analyze → Insert Slicer → Chọn Khu vực.
  • Click vào PivotTable có trường Ngày → Insert Timeline → Chọn Ngày.
  • Đặt các bộ lọc ở vị trí hợp lý, thay đổi màu sắc để phân biệt.

Bước 6: Liên kết Slicer/Timeline tới tất cả PivotTable

  • Click vào Slicer → Options → Report Connections → Đánh dấu vào tất cả các PivotTable cần đồng bộ.
  • Timeline cũng làm tương tự.

Bước 7: Định dạng Dashboard

  • Thêm tiêu đề lớn, phân vùng bằng Shape hoặc Text Box.
  • Đặt màu sắc thống nhất (theme) để Dashboard trông chuyên nghiệp.

Kết quả

Khi người dùng chọn một khu vực trên Slicer và kéo Timeline để chọn tháng, cả ba bảng và biểu đồ sẽ tự động cập nhật, cung cấp cái nhìn tổng thể về doanh thu, lượng bán và xu hướng thời gian.

Mở rộng

  • Thêm KPI (Key Performance Indicator) bằng công thức =GETPIVOTDATA để hiển thị mục tiêu doanh thu và tỷ lệ hoàn thành.
  • Sử dụng Conditional Formatting để tô màu các vùng vượt mục tiêu.

7. Bài Tập 7 – Tính Toán KPI Với Hàm XLOOKUP và IFERROR

Mô tả bài tập

Bạn có bảng Mục tiêu (cột Khu vực, Doanh thu mục tiêu) và bảng Thực tế (cột Khu vực, Doanh thu thực tế). Yêu cầu:

  1. Tạo bảng tổng hợp hiển thị % hoàn thành = Doanh thu thực tế / Doanh thu mục tiêu.
  2. Nếu không có mục tiêu (NULL), hiển thị “Chưa đặt mục tiêu”.

Công thức

Giả sử bảng tổng hợp bắt đầu ở E2 (cột Khu vực), cột F là Doanh thu thực tế, cột G là Doanh thu mục tiêu, cột H là % Hoàn Thành.

Bước 1: Lấy dữ liệu thực tế

=IFERROR(XLOOKUP(E2, ThucTe Khu vực , ThucTe Doanh thu thực tế ), 0)

Bước 2: Lấy dữ liệu mục tiêu

=IFERROR(XLOOKUP(E2, MucTieu Khu vực , MucTieu Doanh thu mục tiêu ), "")

Bước 3: Tính % hoàn thành

=IF(G2="", "Chưa đặt mục tiêu", TEXT(F2/G2, "0.0%"))

Giải thích

  • XLOOKUP là phiên bản mạnh hơn VLOOKUP, cho phép tìm kiếm từ trái sang phải và trả về giá trị mặc định nếu không tìm thấy.
  • IFERROR bắt mọi lỗi (ví dụ #N/A) và trả về 0 hoặc chuỗi rỗng, tránh làm hỏng công thức.
  • TEXT(..., "0.0%") định dạng kết quả dưới dạng phần trăm với một chữ số thập phân.

Mở rộng

  • Thêm cột Màu bằng Conditional Formatting: nếu % hoàn thành < 80% → màu đỏ, 80‑100% → màu vàng, >100% → màu xanh.
  • Sử dụng GETPIVOTDATA để lấy dữ liệu tự động nếu bảng thực tế được tóm tắt bằng PivotTable.

8. Bài Tập 8 – Tối Ưu Hóa Tốc Độ Khi Xử Lý Dữ Liệu Lớn

Vấn đề thực tế

Khi làm việc với bảng dữ liệu có hàng triệu bản ghi (ví dụ log giao dịch), các hàm như VLOOKUP, COUNTIF thường chậm. Bạn cần các kỹ thuật để tăng tốc.

Giải pháp

Kỹ thuậtMô tảCách thực hiện
Sử dụng Table + Structured ReferencesGiảm thời gian truy cập ô so với tham chiếu A1:B1000000.Đánh dấu dữ liệu → Ctrl+T → Đặt tên Table.
Dùng XLOOKUP hoặc INDEX/MATCH thay vì VLOOKUPXLOOKUP tối ưu hơn và không cần sắp xếp cột.=XLOOKUP(lookup_value, lookup_array, return_array, "", 0, 1)
Áp dụng Power QueryXử lý dữ liệu trước khi đưa vào Excel, chỉ tải phần cần thiết.Data → Get Data → From Table/Range → Transform → Load to Data Model.
Sử dụng công thức Array (Dynamic Array) thay vì công thức lặpCác hàm như FILTER, UNIQUE tính toán nhanh hơn.=UNIQUE(FILTER(...))
Tắt tính năng tính toán tự độngKhi nhập nhiều công thức, tạm thời tắt Auto Calculation.Formulas → Calculation Options → Manual. Sau khi hoàn thành, nhấn F9 để tính lại.
Sử dụng VBA để thực hiện vòng lặp nhanhKhi cần duyệt hàng triệu dòng, VBA thường nhanh hơn công thức.Viết macro dùng Dictionary để lưu trữ và tra cứu.
Chỉ tải dữ liệu cần thiết vào WorksheetĐừng để toàn bộ dữ liệu trong một sheet, chỉ tải phần tổng hợp.Dùng Power Pivot để tạo Data Model và tạo PivotTable trực tiếp từ đó.

Ví dụ: Thay thế COUNTIF bằng Dictionary trong VBA

Function CountOccurrences(rng As Range, key As Variant) As Long Dim dict As Object, cell As Range Set dict = CreateObject("Scripting.Dictionary") For Each cell In rng If Not dict.Exists(cell.Value) Then dict(cell.Value) = 1 Else dict(cell.Value) = dict(cell.Value) + 1 End If Next cell If dict.Exists(key) Then CountOccurrences = dict(key) Else CountOccurrences = 0 End If
End Function
  • Sử dụng: =CountOccurrences(A2:A1000000, "Khách hàng A")
  • Hàm này chỉ tính một lần cho toàn bộ vùng và lưu trong Dictionary, nhanh hơn rất nhiều so với COUNTIF lặp lại.

9. Bài Tập 9 – Tạo Báo Cáo Định Kỳ Tự Động Với Power Automate

Mô tả

Bạn muốn mỗi đầu tháng Excel tự động:

  1. Lấy dữ liệu bán hàng của tháng trước.
  2. Tạo file PDF báo cáo.
  3. Gửi email cho bộ phận tài chính.

Các bước thực hiện trên Power Automate (trước đây là Microsoft Flow)

  1. Trigger: Recurrence → Chọn Monthly vào ngày 1.
  2. Action: Get file content → Lấy file Excel từ OneDrive/SharePoint.
  3. Action: Run script → Gọi Office Script (script viết bằng TypeScript) để thực hiện lọc và tạo PivotTable.

Office Script mẫu

function main(workbook: ExcelScript.Workbook) { const sheetData = workbook.getWorksheet("Dữ liệu"); const table = sheetData.getTable("tblBanHang"); // Lọc dữ liệu tháng trước const today = new Date(); const prevMonth = new Date(today.getFullYear(), today.getMonth() - 1, 1); const monthStart = prevMonth; const monthEnd = new Date(prevMonth.getFullYear(), prevMonth.getMonth() + 1, 0); const rows = table.getRangeBetweenHeaderAndTotal().getValues(); const filtered = rows.filter(r => { const date = new Date(r0); // Giả sử cột 0 là Ngày return date >= monthStart && date <= monthEnd; }); // Tạo sheet báo cáo tạm thời const reportSheet = workbook.addWorksheet("ReportTmp"); reportSheet.getRange("A1").getResizedRange(filtered.length, filtered0.length).setValues(filtered); // Tạo PivotTable const pivotSheet = workbook.addWorksheet("Report"); const pivotTable = pivotSheet.addPivotTable("PT_BanHang", reportSheet.getRange("A1").getResizedRange(filtered.length, filtered0.length)); // Cấu hình pivot (tùy chỉnh) // ...
}
  1. Action: Create file → Lưu PDF vào OneDrive.
  2. Action: Send an email (V2) → Đính kèm file PDF, nhập địa chỉ người nhận.

Lợi ích

  • Không cần mở Excel: Tự động chạy trên đám mây.
  • Tiết kiệm thời gian: Báo cáo được tạo và gửi trong vài phút.

10. Tổng Kết – Hành Trình Trở Thành Chuyên Gia Excel

Qua 10 bài tập nâng cao trên, bạn đã:

  • Quản lý và phân tích dữ liệu bằng PivotTable, Slicer, Timeline.
  • Áp dụng hàm Dynamic Array để tạo danh sách duy nhất, sắp xếp tự động.
  • Tự động hoá quy trình bằng Macro VBA và Power Automate.
  • Làm sạch dữ liệu thông qua Power Query, giảm thiểu lỗi nhập liệu.
  • Dự báo doanh thu bằng các hàm thống kê và mô hình hồi quy.
  • Xây dựng Dashboard tương tác, cung cấp thông tin quyết định nhanh chóng.
  • Tối ưu hoá hiệu suất khi làm việc với dữ liệu lớn, sử dụng VBA, Power Pivot và các kỹ thuật tối ưu.

Những Bước Tiếp Theo

  1. Thực hành thường xuyên: Đặt mục tiêu hoàn thành ít nhất một bài tập mỗi tuần.
  2. Tham gia cộng đồng: Các forum như Reddit r/excel, Stack Overflow, hay những nhóm Facebook chuyên về Excel.
  3. Khám phá thêm công cụ: Power BI, Power Apps – mở rộng khả năng báo cáo và ứng dụng doanh nghiệp.
  4. Chứng chỉ Microsoft Office Specialist (MOS): Kiểm chứng kiến thức và nâng cao giá trị bản thân trên thị trường lao động.

Kết luận: Excel là một công cụ vô hạn nếu bạn biết khai thác đúng cách. Khi đã thành thạo các bài tập Excel nâng cao này, bạn không chỉ giải quyết được các vấn đề hiện tại mà còn có thể thiết kế các giải pháp sáng tạo, tối ưu hoá quy trình và tạo ra giá trị thực sự cho doanh nghiệp. Hãy tiếp tục học hỏi, thử nghiệm và chia sẻ kiến thức – đó chính là cách để trở thành chuyên gia Excel thực thụ.

⚠️
LƯU Ý QUAN TRỌNG: Miễn trừ trách nhiệm: Mặc dù chúng tôi luôn nỗ lực để đảm bảo tính chính xác và cập nhật của thông tin, nhưng các quy định về giáo dục và tuyển sinh có thể thay đổi theo thời gian. BigSchool không chịu trách nhiệm về bất kỳ sai sót nào hoặc kết quả phát sinh từ việc sử dụng thông tin trên trang này. Độc giả nên liên hệ trực tiếp với nhà trường hoặc cơ quan chức năng để có thông tin mới nhất. Ngoài ra, BigSchool tuyệt đối không bán sản phẩm, khóa học hay cung cấp dịch vụ được nhắc đến trong bài.

Viết một bình luận