Skip to content

🛠 Workshop Buổi 4: Tạo Sales Dashboard hoàn chỉnh

Dùng dataset đã clean từ Buổi 3, xây bảng KPI, vẽ chart đa chiều, thêm Slicer & Timeline — tất cả trên 1 trang Dashboard chuyên nghiệp!

🎯 Mục tiêu

Sau khi hoàn thành workshop này, bạn sẽ:

  1. Tạo bảng KPI Summary — tính Revenue, Orders, AOV (Average Order Value), Growth Rate bằng SUMIFS, COUNTIFS và công thức tăng trưởng
  2. Xây dựng 4 biểu đồ phân tích — Revenue trend line (theo tháng), Top 10 Products (bar chart), Regional breakdown (pie/bar), Pareto 80/20
  3. Thiết kế Dashboard tương tác — thêm Slicer (Year, Region, Category), Timeline, Conditional Formatting, Sparklines trên 1 sheet duy nhất
  4. Viết 3 insight kinh doanh từ Dashboard — có số liệu cụ thể, so sánh, đề xuất hành động, sẵn sàng đưa vào portfolio Capstone

🧰 Công cụ & Setup

Công cụPhiên bảnGhi chú
Microsoft Excel2016+ / 365Khuyến nghị Excel 365 cho XLOOKUP, Sparklines, dynamic arrays

Setup trước buổi học

  1. Mở file HoTen_Buoi03_DataCleaning.xlsx — đây là output từ Workshop Buổi 3
  2. Kiểm tra sheet "Cleaned" có đủ ~470 dòng dữ liệu đã làm sạch
  3. Đảm bảo cột Order_Date có format Date (không phải Text) — chuột phải → Format Cells → Date
  4. Tạo sẵn 3 sheet mới:
    • "KPI" — bảng tính các chỉ số
    • "Charts" — các biểu đồ phân tích
    • "Dashboard" — trang tổng hợp cuối cùng
  5. Bật Developer tab (cần cho Slicer): File → Options → Customize Ribbon → tick Developer

💡 Nếu bạn chưa hoàn thành Buổi 3, hãy tải file buoi03_sales_cleaned.xlsx từ LMS để sử dụng làm input.

📦 Dataset: Dữ liệu bán hàng đã clean (output Buổi 3)

Dataset là output từ Workshop Buổi 3 — dữ liệu bán hàng của chuỗi cửa hàng bán lẻ tại Việt Nam đã được làm sạch hoàn toàn: không còn duplicate, missing values, lỗi format, hay giá trị bất thường.

  • Name: Vietnam Retail Sales — Cleaned Dataset
  • Rows: ~470 đơn hàng (sau khi loại ~30 dòng duplicate từ 500 dòng gốc)
  • Columns: 12 cột
  • Thời gian: 01/2025 – 12/2025
  • Ngữ cảnh: Chuỗi cửa hàng bán lẻ đa kênh tại Việt Nam
CộtKiểu dữ liệuMô tảVí dụ
Order_IDstringMã đơn hàng duy nhấtORD-0001
Order_DatedateNgày đặt hàng (DD/MM/YYYY)15/03/2025
Customer_NamestringTên khách hàng (chuẩn PROPER)Nguyễn Văn An
PhonestringSố điện thoại (chuẩn 10 số)0901234567
Product_NamestringTên sản phẩmÁo thun nam basic
CategorystringDanh mục (5 loại chuẩn)Thời Trang, Điện Tử, Gia Dụng, Thực Phẩm, Mỹ Phẩm
QuantityintSố lượng mua (> 0)2
Unit_PricefloatĐơn giá (VNĐ)350000
RevenuefloatDoanh thu = Quantity × Unit_Price700000
RegionstringKhu vực (4 vùng chuẩn)Bắc, Trung, Nam, Tây Nguyên
Payment_MethodstringPhương thức thanh toánCOD, Momo, Bank Transfer, Credit Card
SalespersonstringNhân viên bán hàngTrần Thị Bình

Yêu cầu kiểm tra trước khi bắt đầu

📌 Kiểm tra tổng dòng:
=COUNTA(A2:A471)          → ~470

📌 Kiểm tra Region chỉ có 4 giá trị:
=COUNTA(UNIQUE(J2:J471))  → 4

📌 Kiểm tra Category chỉ có 5 giá trị:
=COUNTA(UNIQUE(F2:F471))  → 5

📌 Kiểm tra không còn ô trống Revenue:
=COUNTBLANK(I2:I471)      → 0

📌 Kiểm tra không còn Revenue âm:
=COUNTIF(I2:I471, "<0")   → 0

✅ Nếu tất cả đều đạt — bạn sẵn sàng xây Dashboard!

⏱️ Thời lượng

PhầnThời gianNội dung
Hướng dẫn & Setup10 phútKiểm tra dataset, tạo sheet cấu trúc
Bài tập 1: KPI Summary20 phútTính Revenue, Orders, AOV, Growth Rate bằng SUMIFS/COUNTIFS
Bài tập 2: Charts25 phútRevenue trend, Top 10 Products, Regional breakdown, Pareto
Bài tập 3: Interactive Dashboard25 phútSlicer, Timeline, Conditional Formatting, Sparklines, layout
Review & Feedback10 phútTrình bày, nhận xét chéo
Tổng90 phút

Bài tập 1: KPI Summary — Tính toán chỉ số kinh doanh

Hướng dẫn

Mục tiêu: Tạo bảng tổng hợp KPI chính cho toàn bộ dataset, theo từng quý, và theo từng khu vực. Dùng SUMIFS, COUNTIFS, công thức Growth Rate — đây là nền tảng cho mọi Dashboard.

Bước 1 — Thêm cột phụ hỗ trợ (3 phút)

Trên sheet "Cleaned", thêm các cột phụ để dễ tính toán theo thời gian:

  1. Cột Month (cột M): trích tháng từ Order_Date
  2. Cột Quarter (cột N): trích quý từ Order_Date
  3. Cột Year (cột O): trích năm từ Order_Date
📌 Cột Month (M2):
=MONTH(B2)

📌 Cột Quarter (N2):
="Q" & ROUNDUP(MONTH(B2)/3, 0)

📌 Cột Year (O2):
=YEAR(B2)

Kéo xuống toàn bộ ~470 dòng.

Bước 2 — Tạo bảng KPI tổng thể (5 phút)

Chuyển sang sheet "KPI". Tạo bảng tổng hợp:

📌 Tổng doanh thu (Total Revenue):
=SUM(Cleaned!I2:I471)

📌 Tổng số đơn hàng (Total Orders):
=COUNTA(Cleaned!A2:A471)

📌 Giá trị đơn hàng trung bình (AOV — Average Order Value):
=SUM(Cleaned!I2:I471) / COUNTA(Cleaned!A2:A471)
→ Hoặc: =AVERAGE(Cleaned!I2:I471)

📌 Tổng số lượng sản phẩm bán ra:
=SUM(Cleaned!G2:G471)

📌 Số khách hàng duy nhất (Unique Customers):
=COUNTA(UNIQUE(Cleaned!C2:C471))

📌 Doanh thu trung bình / khách hàng (Revenue per Customer):
=SUM(Cleaned!I2:I471) / COUNTA(UNIQUE(Cleaned!C2:C471))

Kết quả mong đợi — KPI tổng thể:

KPICông thứcGiá trị (ước tính)
Total RevenueSUM~1,250,000,000 VNĐ
Total OrdersCOUNTA~470 đơn
AOV (Average Order Value)Revenue / Orders~2,659,574 VNĐ
Total QuantitySUM~1,200 sản phẩm
Unique CustomersCOUNTA(UNIQUE)~350 khách
Revenue / CustomerRevenue / Unique Customers~3,571,429 VNĐ

Bước 3 — KPI theo Quý + Growth Rate (7 phút)

Tạo bảng KPI quarterly để tính tốc độ tăng trưởng QoQ (Quarter over Quarter):

📌 Revenue theo từng quý (giả sử cột Quarter ở cột N trên Cleaned):
Revenue Q1: =SUMIFS(Cleaned!I:I, Cleaned!N:N, "Q1")
Revenue Q2: =SUMIFS(Cleaned!I:I, Cleaned!N:N, "Q2")
Revenue Q3: =SUMIFS(Cleaned!I:I, Cleaned!N:N, "Q3")
Revenue Q4: =SUMIFS(Cleaned!I:I, Cleaned!N:N, "Q4")

📌 Orders theo từng quý:
Orders Q1: =COUNTIFS(Cleaned!N:N, "Q1")
Orders Q2: =COUNTIFS(Cleaned!N:N, "Q2")
Orders Q3: =COUNTIFS(Cleaned!N:N, "Q3")
Orders Q4: =COUNTIFS(Cleaned!N:N, "Q4")

📌 AOV theo từng quý:
AOV Q1: =SUMIFS(Cleaned!I:I, Cleaned!N:N, "Q1") / COUNTIFS(Cleaned!N:N, "Q1")

📌 Growth Rate QoQ (so sánh quý sau vs quý trước):
Growth Q2 vs Q1: =(Revenue_Q2 - Revenue_Q1) / Revenue_Q1
→ Ví dụ: =(D4-D3)/D3

📌 Format Growth Rate dạng phần trăm:
Chọn ô → Format Cells → Percentage → 1 decimal

Kết quả mong đợi — KPI Quarterly:

QuýRevenueOrdersAOVGrowth QoQ
Q1~280,000,000~110~2,545,455
Q2~290,000,000~115~2,521,739+3.6%
Q3~305,000,000~120~2,541,667+5.2%
Q4~375,000,000~125~3,000,000+23.0%

📌 Q4 tăng vọt ~23% so với Q3 — mùa mua sắm cuối năm (11.11, 12.12, Tết) là driver chính. Đây là pattern phổ biến trong retail Việt Nam.

Bước 4 — KPI theo Region (5 phút)

📌 Revenue theo từng Region:
Revenue Bắc:         =SUMIFS(Cleaned!I:I, Cleaned!J:J, "Bắc")
Revenue Trung:       =SUMIFS(Cleaned!I:I, Cleaned!J:J, "Trung")
Revenue Nam:         =SUMIFS(Cleaned!I:I, Cleaned!J:J, "Nam")
Revenue Tây Nguyên:  =SUMIFS(Cleaned!I:I, Cleaned!J:J, "Tây Nguyên")

📌 Orders theo Region:
Orders Bắc:          =COUNTIFS(Cleaned!J:J, "Bắc")

📌 AOV theo Region:
AOV Bắc:             =SUMIFS(Cleaned!I:I, Cleaned!J:J, "Bắc") / COUNTIFS(Cleaned!J:J, "Bắc")

📌 % đóng góp Revenue (Revenue Share):
Share Bắc:           =SUMIFS(Cleaned!I:I, Cleaned!J:J, "Bắc") / SUM(Cleaned!I:I)
→ Format: Percentage, 1 decimal

📌 KPI kết hợp 2 điều kiện — Revenue theo Region + Quarter:
=SUMIFS(Cleaned!I:I, Cleaned!J:J, "Nam", Cleaned!N:N, "Q4")
→ Doanh thu khu vực Nam trong Q4

Kết quả mong đợi — KPI theo Region:

RegionRevenueOrdersAOVRevenue Share
Nam~450,000,000~155~2,903,226~36.0%
Bắc~380,000,000~130~2,923,077~30.4%
Trung~250,000,000~105~2,380,952~20.0%
Tây Nguyên~170,000,000~80~2,125,000~13.6%
Tổng~1,250,000,000~470~2,659,574100%

📌 Nam + Bắc chiếm 66.4% tổng doanh thu — 2 thị trường trọng điểm.

Kết quả mong đợi

Sau bài tập 1, sheet "KPI" có:

#BảngNội dung
1KPI Tổng thể6 chỉ số: Revenue, Orders, AOV, Quantity, Unique Customers, Revenue/Customer
2KPI QuarterlyRevenue, Orders, AOV theo Q1–Q4 + Growth Rate QoQ
3KPI RegionalRevenue, Orders, AOV, Revenue Share theo 4 khu vực

Checkpoint: Bạn đã thành thạo SUMIFS, COUNTIFS, và công thức Growth Rate. Bảng KPI này sẽ là data source cho Dashboard.


Bài tập 2: Charts — Xây dựng biểu đồ phân tích

Hướng dẫn

Mục tiêu: Tạo 4 biểu đồ chính phục vụ phân tích bán hàng: Revenue Trend (xu hướng), Top 10 Products (sản phẩm bán chạy), Regional Breakdown (phân bổ khu vực), và Pareto 80/20 (tập trung doanh thu).

Bước 1 — Revenue Trend Line Chart (7 phút)

Biểu đồ đường thể hiện xu hướng doanh thu theo tháng — biểu đồ quan trọng nhất trên mọi Sales Dashboard.

  1. Trên sheet "KPI" hoặc "Charts", tạo bảng Revenue theo tháng:
📌 Revenue theo từng tháng (Month 1-12):
Revenue Jan: =SUMIFS(Cleaned!I:I, Cleaned!M:M, 1)
Revenue Feb: =SUMIFS(Cleaned!I:I, Cleaned!M:M, 2)
... (lặp cho tháng 3-12)

📌 Hoặc nhanh hơn — dùng bảng tham chiếu:
Cột A: Tháng (1, 2, 3, ..., 12)
Cột B: =SUMIFS(Cleaned!I:I, Cleaned!M:M, A2)
→ Kéo công thức xuống 12 dòng
  1. Chọn bảng Tháng + Revenue → Insert → Line Chart (biểu đồ đường)
  2. Format chart:
📌 Tiêu đề: "Xu hướng doanh thu theo tháng — 2025"
📌 Trục X: "Tháng" (Jan → Dec)
📌 Trục Y: "Doanh thu (VNĐ)" — Format Number: #,##0
📌 Thêm Data Labels: chuột phải lên đường → Add Data Labels
📌 Thêm Trendline: chuột phải → Add Trendline → Linear
📌 Marker: chuột phải → Format Data Series → Marker → Built-in → Size 6

Kết quả mong đợi — Revenue Trend:

ThángRevenueGhi chú
Jan~95,000,000
Feb~85,000,000Tết Nguyên Đán — giảm nhẹ
Mar~100,000,000
Apr~90,000,000
May~95,000,000
Jun~105,000,000
Jul~110,000,000
Aug~100,000,000
Sep~95,000,000
Oct~115,000,000Bắt đầu mùa sale cuối năm
Nov~125,000,00011.11, Black Friday
Dec~135,000,00012.12, Giáng sinh, chuẩn bị Tết

📌 Biểu đồ sẽ thể hiện rõ xu hướng tăng dần vào Q4 — pattern seasonality của retail Việt Nam.

BEFORE → AFTER:

Before (bảng số)After (Line Chart)
12 dòng Revenue theo thángĐường cong đi lên rõ rệt từ tháng 9, peak tháng 12
Khó nhận biết patternNhìn 1 cái thấy ngay mùa cao điểm Q4

Bước 2 — Top 10 Products Bar Chart (6 phút)

Biểu đồ thanh ngang hiển thị 10 sản phẩm có doanh thu cao nhất.

  1. Tạo Pivot Table từ dữ liệu Cleaned:
📌 Cách 1 — Pivot Table:
Rows:   Product_Name
Values: Sum of Revenue
→ Sắp xếp giảm dần theo Sum of Revenue
→ Chuột phải → Filter → Top 10

📌 Cách 2 — Công thức (nếu muốn tự tạo):
Bước 1: Dùng Pivot Table hoặc SUMIFS theo từng sản phẩm
Bước 2: Sắp xếp giảm dần
Bước 3: Lấy 10 dòng đầu

📌 Cách 3 — XLOOKUP + LARGE (Excel 365):
Top 1 Revenue: =LARGE(PivotRevenue, 1)
Top 1 Name:    =INDEX(ProductNames, MATCH(LARGE(PivotRevenue,1), PivotRevenue, 0))
  1. Chọn Top 10 → Insert → Bar Chart (thanh ngang, KHÔNG phải cột đứng)
  2. Format chart:
📌 Tiêu đề: "Top 10 sản phẩm doanh thu cao nhất — 2025"
📌 Trục X: "Doanh thu (VNĐ)"
📌 Sắp xếp: sản phẩm có Revenue cao nhất ở TRÊN cùng
📌 Data Labels: hiện số doanh thu trên mỗi thanh
📌 Màu sắc: dùng 1 màu chủ đạo (ví dụ: xanh dương đậm)
📌 Gap Width: chuột phải lên thanh → Format Data Series → Gap Width: 80%

Kết quả mong đợi — Top 10 Products (ví dụ):

#Product_NameRevenue
1iPhone 15 Pro Max~45,000,000
2MacBook Air M2~38,000,000
3Samsung Galaxy S24~32,000,000
4Máy lọc không khí Sharp~28,000,000
5Tai nghe Sony WH-1000XM5~25,000,000
6Nồi chiên không dầu Philips~22,000,000
7Bộ chăn ga Everon~20,000,000
8Son MAC Powder Kiss~18,000,000
9Kem chống nắng Anessa~16,000,000
10Áo khoác Uniqlo~15,000,000

📌 Top 10 sản phẩm chiếm ~21% tổng doanh thu — nhóm sản phẩm chiến lược cần ưu tiên stock.

Bước 3 — Regional Breakdown Pie/Bar Chart (6 phút)

Biểu đồ tròn hoặc cột thể hiện tỷ trọng doanh thu theo 4 khu vực.

  1. Sử dụng bảng KPI Regional đã tạo ở Bài tập 1
  2. Chọn Region + Revenue → Insert → Pie Chart (biểu đồ tròn)
📌 Tiêu đề: "Phân bổ doanh thu theo khu vực — 2025"
📌 Data Labels: hiện % (Percentage) + tên khu vực
📌 Explode: tách miếng "Nam" ra nhẹ (kéo ra ngoài 1 chút) để nhấn mạnh
📌 Hoặc dùng Doughnut Chart (bánh donut) — trông hiện đại hơn Pie

📌 Thay thế: dùng 100% Stacked Bar Chart nếu muốn so sánh chính xác hơn
→ Pie chart chỉ tốt khi có ≤ 5 categories — 4 Region vừa đủ
  1. Tạo thêm Clustered Column Chart so sánh Revenue theo Region + Category:
📌 Dùng bảng chéo Region × Category từ Pivot Table Buổi 3
📌 Insert → Clustered Column Chart
📌 Mỗi Region = 1 nhóm cột, mỗi Category = 1 màu trong nhóm
📌 Tiêu đề: "Doanh thu theo khu vực & danh mục — 2025"
📌 Legend: hiện đủ 5 Category

Bước 4 — Pareto Chart 80/20 (6 phút)

Biểu đồ Pareto giúp xác định 20% sản phẩm/danh mục đóng góp 80% doanh thu — quy tắc kinh điển trong kinh doanh.

  1. Tạo bảng Pareto cho Category:
📌 Bước 1 — Sắp xếp Revenue giảm dần theo Category:

| Category | Revenue | % Tổng | % Tích luỹ |
|----------|---------|--------|-----------|
| Điện Tử | 400M | 32.0% | 32.0% |
| Thời Trang | 270M | 21.6% | 53.6% |
| Gia Dụng | 260M | 20.8% | 74.4% |
| Mỹ Phẩm | 175M | 14.0% | 88.4% |
| Thực Phẩm | 145M | 11.6% | 100.0% |

📌 Bước 2 — Công thức:
% Tổng:      =Revenue_Category / SUM(Revenue_All)
% Tích luỹ:  =SUM($C$2:C2) / SUM($C$2:$C$6)
              → Kéo xuống, dùng $C$2 cố định dòng đầu

📌 Bước 3 — Tạo Combo Chart:
Chọn Category + Revenue + % Tích luỹ
→ Insert → Combo Chart
→ Revenue: Clustered Column (trục chính)
→ % Tích luỹ: Line with Markers (trục phụ — Secondary Axis)
→ Thêm đường ngang 80% (Insert → Shape → Line)

📌 Bước 4 — Format:
Tiêu đề: "Phân tích Pareto — Doanh thu theo danh mục 2025"
Trục trái: "Doanh thu (VNĐ)"
Trục phải: "% Tích luỹ"
Đường 80%: nét đứt màu đỏ

📌 2 danh mục đầu (Điện Tử + Thời Trang) chiếm 53.6% tổng doanh thu. 3 danh mục đầu chiếm 74.4% — gần ngưỡng 80/20. Đây là nhóm cần tập trung nguồn lực marketing.

Kết quả mong đợi

Sau bài tập 2, sheet "Charts" có:

#ChartLoạiInsight chính
1Revenue TrendLine ChartXu hướng tăng Q4, dip tháng 2 (Tết)
2Top 10 ProductsHorizontal Bar ChartNhóm sản phẩm chiến lược chiếm ~21% doanh thu
3Regional BreakdownPie/Doughnut ChartNam dẫn đầu 36%, Tây Nguyên thấp nhất 13.6%
4Pareto 80/20Combo Chart (Column + Line)Top 3 Category chiếm 74.4% doanh thu

Checkpoint: Bạn đã có 4 biểu đồ phân tích chuyên nghiệp. Bước tiếp theo là ghép tất cả vào 1 trang Dashboard.


Bài tập 3: Interactive Dashboard — Tổng hợp & Tương tác

Hướng dẫn

Mục tiêu: Ghép KPI Cards, Charts, Slicer, Timeline, Conditional Formatting, và Sparklines vào sheet "Dashboard" duy nhất — tạo bảng điều khiển kinh doanh chuyên nghiệp mà sếp nhìn 1 cái là hiểu.

🎯 Nguyên tắc 5-second rule: Người xem phải hiểu thông điệp chính trong 5 giây đầu tiên. KPI Cards ở trên cùng, Charts ở giữa, Detail ở dưới.

Bước 1 — Chuẩn bị layout Dashboard (3 phút)

  1. Chuyển sang sheet "Dashboard"
  2. Ẩn gridlines: View → bỏ tick Gridlines
  3. Đặt màu nền: chọn toàn bộ sheet → Fill Color → trắng hoặc xám nhạt (#F5F5F5)
  4. Quy hoạch layout (dùng Merge Cells tạo vùng):
📌 Layout Dashboard chuẩn (áp dụng cho màn hình 1920×1080):

┌──────────────────────────────────────────────────┐
│                   HEADER                          │
│   "Sales Dashboard — Vietnam Retail 2025"        │
│   Kỳ báo cáo: 01/2025 – 12/2025                 │
├────────┬────────┬────────┬────────┬──────────────┤
│  💰    │  📦    │  🛒    │  📈    │   SLICER     │
│Revenue │Orders  │  AOV   │Growth  │  Region      │
│ 1.25B  │  470   │ 2.66M  │ +23%   │  Category    │
├────────┴────────┴────────┴────────┤  Timeline    │
│                                    │              │
│   Revenue Trend Line Chart         │              │
│   (chiếm 60% chiều ngang)         │              │
│                                    ├──────────────┤
├──────────────────┬─────────────────┤              │
│                  │                 │  Sparklines  │
│   Top 10         │  Regional       │  mini-table  │
│   Products       │  Breakdown      │              │
│   Bar Chart      │  Pie Chart      │              │
│                  │                 │              │
├──────────────────┴─────────────────┴──────────────┤
│              Pareto Chart (full width)             │
└──────────────────────────────────────────────────┘

📌 Chiều ngang: cột A-R (~18 cột, mỗi cột ~60px)
📌 Chiều dọc: ~50 dòng
📌 Row heights: Header row = 45px, KPI row = 60px, Chart rows = 200px

Bước 2 — Tạo KPI Cards (5 phút)

KPI Cards hiển thị 4 chỉ số quan trọng nhất ở vị trí nổi bật nhất (ngay dưới header).

  1. Merge cells tạo 4 ô lớn (mỗi ô ~4 cột × 3 dòng)
  2. Trong mỗi ô, liên kết đến giá trị KPI đã tính ở sheet "KPI":
📌 KPI Card 1 — Total Revenue:
Ô label:  "Tổng doanh thu"
Ô value:  =KPI!B2             → hiện ~1,250,000,000
Ô format: Number → Custom → #,##0,,"B" → hiện "1.25B"
           Hoặc: =TEXT(KPI!B2/1000000000, "0.00") & " tỷ"

📌 KPI Card 2 — Total Orders:
Ô label:  "Tổng đơn hàng"
Ô value:  =KPI!B3             → hiện ~470
Ô format: #,##0 → hiện "470"

📌 KPI Card 3 — AOV (Average Order Value):
Ô label:  "Giá trị TB / đơn"
Ô value:  =KPI!B4             → hiện ~2,659,574
Ô format: #,##0,,"M" → hiện "2.66M"
           Hoặc: =TEXT(KPI!B4/1000000, "0.00") & " triệu"

📌 KPI Card 4 — Q4 Growth:
Ô label:  "Tăng trưởng Q4 vs Q3"
Ô value:  =KPI!F6             → hiện ~0.23
Ô format: +0.0% → hiện "+23.0%"
  1. Format KPI Cards:
📌 Font size giá trị: 28pt, Bold
📌 Font size label: 10pt, màu xám
📌 Border: viền mỏng 1px xám nhạt
📌 Fill color: trắng (#FFFFFF) trên nền xám nhạt (#F5F5F5)
📌 Conditional Formatting cho Growth:
Chọn ô Growth → Conditional Formatting → Icon Sets → 3 Arrows
→ Xanh (▲) nếu > 0, Vàng (►) nếu = 0, Đỏ (▼) nếu < 0

📌 Hoặc dùng IF để hiển thị icon thủ công:
=IF(KPI!F6>0, "▲ +" & TEXT(KPI!F6, "0.0%"), "▼ " & TEXT(KPI!F6, "0.0%"))

BEFORE → AFTER:

Before (bảng số trên sheet KPI)After (KPI Cards trên Dashboard)
Nhiều dòng, nhiều cột, khó nhìn4 ô lớn, font 28pt, nhìn 1 cái hiểu ngay
Không có context so sánhCó mũi tên ▲▼ và % tăng trưởng
Không format số"1.25 tỷ", "2.66 triệu", "+23.0%"

Bước 3 — Copy Charts vào Dashboard (3 phút)

  1. Quay lại sheet "Charts"
  2. Click vào từng chart → Copy (Ctrl+C)
  3. Chuyển sang sheet "Dashboard"Paste (Ctrl+V)
  4. Kéo, resize chart vào đúng vị trí theo layout
  5. Lặp lại cho cả 4 charts
📌 Tips resize chart:
- Click chart → kéo góc để resize
- Giữ ALT khi kéo → chart snap vào cạnh ô (căn chỉnh đều)
- Chuột phải → Size and Properties → đặt chính xác Width/Height

📌 Tips đồng bộ style:
- Tất cả chart dùng cùng color palette (ví dụ: Blue theme)
- Font: Segoe UI hoặc Calibri, size 9–10pt cho labels
- Bỏ viền chart (Chart Border → No line)
- Background chart: trắng hoặc transparent

Bước 4 — Thêm Slicer cho Region & Category (5 phút)

Slicer cho phép người dùng click để lọc dữ liệu — Dashboard trở nên tương tác.

⚠️ Lưu ý quan trọng: Slicer chỉ hoạt động với Pivot Table hoặc Excel Table (Ctrl+T). Nếu chart được tạo từ range thường, cần convert data sang Table trước.

  1. Tạo Pivot Table từ dữ liệu Cleaned (nếu chưa có):
📌 Chọn toàn bộ dữ liệu Cleaned → Insert → PivotTable → New Worksheet
📌 Đặt tên sheet: "PivotDashboard" (sheet phụ, sẽ ẩn sau)
📌 Setup Pivot:
   Rows: Month (hoặc Order_Date grouped by Month)
   Columns: (tuỳ chart)
   Values: Sum of Revenue
  1. Tạo chart từ Pivot Table (hoặc liên kết Pivot Table với chart hiện có)
  2. Click vào Pivot Table → PivotTable Analyze → Insert Slicer
  3. Tick chọn: Region, CategoryOK
  4. Di chuyển Slicer vào vị trí bên phải Dashboard
📌 Format Slicer:
- Chuột phải Slicer → Slicer Settings → bỏ tick "Display header"
  (hoặc giữ header nếu muốn label rõ ràng)
- Tab Slicer → Slicer Styles → chọn style phù hợp (Light Blue, Dark)
- Resize: kéo nhỏ lại ~150px width
- Columns: Slicer Settings → Number of columns → 1 (cho Region), 2 (cho Category)
- Kết nối nhiều Pivot Table: chuột phải Slicer → Report Connections
  → tick tất cả Pivot Table cần lọc đồng thời

Bước 5 — Thêm Timeline cho Order_Date (3 phút)

Timeline là Slicer đặc biệt cho dữ liệu ngày tháng — cho phép lọc theo tháng, quý, năm bằng thanh trượt.

  1. Click vào Pivot Table → PivotTable Analyze → Insert Timeline
  2. Chọn Order_DateOK
  3. Di chuyển Timeline vào vùng Slicer/Filter trên Dashboard
📌 Format Timeline:
- Click Timeline → chọn kiểu hiển thị: MONTHS / QUARTERS / YEARS
- Resize: chiều ngang ~300px, chiều cao ~80px
- Style: Tab Timeline → Timeline Styles → chọn màu phù hợp
- Kéo thanh trượt để lọc: ví dụ chỉ xem Q4/2025

📌 Kết nối Timeline với nhiều Pivot Table:
- Chuột phải Timeline → Report Connections → tick tất cả Pivot Tables

Bước 6 — Conditional Formatting cho KPI (3 phút)

Áp dụng Conditional Formatting để highlight tự động: giá trị tốt = xanh, giá trị xấu = đỏ.

📌 Conditional Formatting cho Growth Rate:
1. Chọn ô Growth Rate
2. Home → Conditional Formatting → New Rule
3. Rule 1: Cell Value > 0 → Format: Font xanh lá đậm, Bold
4. Rule 2: Cell Value < 0 → Format: Font đỏ, Bold
5. Rule 3: Cell Value = 0 → Format: Font xám

📌 Data Bars cho Revenue theo Region:
1. Chọn 4 ô Revenue (Bắc, Trung, Nam, Tây Nguyên)
2. Home → Conditional Formatting → Data Bars → Blue Data Bar
→ Thanh xanh dài/ngắn theo tỷ lệ Revenue — trực quan hơn số

📌 Color Scale cho bảng Revenue × Category:
1. Chọn bảng chéo Region × Category
2. Home → Conditional Formatting → Color Scales → Green-Yellow-Red
→ Ô xanh = Revenue cao, ô đỏ = Revenue thấp

📌 Icon Sets cho Growth QoQ:
1. Chọn các ô Growth Q2, Q3, Q4
2. Conditional Formatting → Icon Sets → 3 Traffic Lights
→ Xanh > 10%, Vàng 0-10%, Đỏ < 0%

Bước 7 — Thêm Sparklines (3 phút)

Sparklines là biểu đồ mini nằm gọn trong 1 ô — hiển thị xu hướng nhanh mà không cần chart lớn.

📌 Sparkline Revenue trend cho mỗi Region:
1. Tạo bảng mini: 4 dòng (Bắc, Trung, Nam, Tây Nguyên) × 12 cột (Jan-Dec)
   Mỗi ô = SUMIFS theo Region + Month

2. Chọn ô trống bên cạnh (ví dụ cột N) → Insert → Sparklines → Line
3. Data Range: 12 ô Revenue monthly của Region đó
4. Location: ô đã chọn → OK

📌 Ví dụ:
   Ô dữ liệu B2:M2 = Revenue Jan-Dec của khu vực Bắc
   Sparkline ở N2: =SPARKLINE... (Excel tự tạo)

📌 Format Sparklines:
- Tab Sparkline → Sparkline Color → chọn màu xanh dương
- Tick: High Point (điểm cao nhất — đỏ), Low Point (điểm thấp nhất — xanh nhạt)
- Style: chọn style có marker

BEFORE → AFTER:

Before (bảng 4×12 ô số)After (bảng 4×12 + Sparklines)
Phải đọc 48 con số để hiểu xu hướngNhìn 4 đường Sparkline — thấy ngay Region nào tăng/giảm
Mất 2 phút để so sánhMất 2 giây để nhận ra pattern

Bước 8 — Hoàn thiện Dashboard (3 phút)

Bước cuối cùng: polish, ẩn sheet phụ, bảo vệ Dashboard.

📌 Hoàn thiện layout:
1. Header: Merge cells dòng 1 → font 18pt Bold → "Sales Dashboard — Vietnam Retail 2025"
2. Sub-header: "Kỳ báo cáo: 01/2025 – 12/2025 | Nguồn: Cleaned Dataset Buổi 3"
3. Căn chỉnh: tất cả chart và Slicer căn lề đều nhau (giữ ALT khi kéo)
4. Xoá ô trống thừa: merge hoặc fill nền xám nhạt

📌 Ẩn sheet phụ:
Chuột phải tab "PivotDashboard" → Hide
Chuột phải tab "KPI" → Hide (tuỳ chọn)
→ Người xem chỉ thấy: Cleaned | Charts | Dashboard

📌 Bảo vệ Dashboard (tuỳ chọn):
Review → Protect Sheet → tick "Select locked cells" only → OK
→ Người xem không thể sửa layout, chỉ dùng Slicer/Timeline

📌 Print area (nếu cần in):
Chọn vùng Dashboard → Page Layout → Print Area → Set Print Area
→ Chọn Landscape, Fit to 1 page wide

Kết quả mong đợi

Sau bài tập 3, sheet "Dashboard" là 1 trang hoàn chỉnh gồm:

#Thành phầnVị tríMô tả
1HeaderTrên cùngTiêu đề + kỳ báo cáo
2KPI Cards (×4)Dưới headerRevenue, Orders, AOV, Growth — font lớn, có icon
3Revenue TrendGiữa tráiLine chart 12 tháng + trendline
4Top 10 ProductsDưới tráiHorizontal bar chart
5Regional BreakdownDưới giữaPie/Doughnut chart
6Pareto ChartDưới cùngCombo chart Column + Line
7Slicer — RegionBên phải4 nút chọn khu vực
8Slicer — CategoryBên phải5 nút chọn danh mục
9TimelineBên phảiThanh trượt lọc theo tháng/quý
10SparklinesBên phải dưới4 đường mini trend theo Region
11Conditional FormattingKPI Cards + bảngData bars, icon sets, color scales

Trải nghiệm tương tác:

  • Click Slicer "Nam" → tất cả chart chỉ hiện dữ liệu khu vực Nam
  • Click Slicer "Điện Tử" → chart lọc theo danh mục Điện Tử
  • Kéo Timeline "Q4" → Dashboard chỉ hiện data tháng 10–12
  • Nhấn Clear Filter (biểu tượng 🔄 trên Slicer) → trở lại toàn bộ data

Checkpoint: Bạn đã hoàn thành 1 Sales Dashboard tương tác chuyên nghiệp trên Excel!


🏆 Bài tập Bonus: Nâng cao

Dành cho bạn hoàn thành sớm hoặc muốn thử thách thêm.

Bonus 1: Dynamic Chart Title

Tiêu đề chart tự động thay đổi khi Slicer được chọn — ví dụ: "Revenue Trend — Khu vực Nam — Q4/2025".

📌 Bước 1: Tạo ô chứa tiêu đề động:
=IF(GETPIVOTDATA("Revenue", PivotDashboard!$A$1) = SUM(Cleaned!I:I),
    "Sales Dashboard — Tất cả khu vực — 2025",
    "Sales Dashboard — Đã lọc — 2025")

📌 Cách đơn giản hơn:
Ô Z1: ="Revenue Trend — " & IF(COUNTA(Slicer_Region)=4, "Tất cả khu vực", "Đã lọc") & " — 2025"

📌 Bước 2: Liên kết ô vào Chart Title:
1. Click vào Chart Title
2. Gõ = vào thanh Formula Bar
3. Click vào ô Z1 → Enter
→ Chart Title giờ sẽ tự động thay đổi khi Slicer thay đổi!

Bonus 2: Sparklines Mini Dashboard

Tạo bảng mini với Sparklines cho tất cả KPI × Region — nhìn 1 cái thấy xu hướng toàn bộ kinh doanh.

📌 Bảng Sparklines Mini Dashboard:

| Region     | Revenue Trend | Orders Trend | AOV Trend | YTD Revenue |
|------------|--------------|-------------|-----------|-------------|
| Bắc        | ~~~~~~~~~~   | ~~~~~~~~~~  | ~~~~~~~~~ | 380M        |
| Trung      | ~~~~~~~~~~   | ~~~~~~~~~~  | ~~~~~~~~~ | 250M        |
| Nam        | ~~~~~~~~~~   | ~~~~~~~~~~  | ~~~~~~~~~ | 450M        |
| Tây Nguyên | ~~~~~~~~~~   | ~~~~~~~~~~  | ~~~~~~~~~ | 170M        |

(~~~~~~~~~~ = Sparkline thực tế)

📌 Cách tạo:
1. Tạo bảng data: 4 Region × 12 tháng × 3 KPI (Revenue, Orders, AOV)
   = 4 × 12 × 3 = 144 ô tính bằng SUMIFS / COUNTIFS

2. Ví dụ Revenue Jan cho Bắc:
   =SUMIFS(Cleaned!I:I, Cleaned!J:J, "Bắc", Cleaned!M:M, 1)

3. Insert → Sparklines → Line cho mỗi dòng
4. Tick High Point + Low Point
5. Resize ô cho Sparklines rõ ràng (~120px width)

Bonus 3: MoM Growth với Conditional Formatting

Tạo bảng Growth Rate tháng-over-tháng (MoM) với Conditional Formatting tự động highlight tháng tăng/giảm.

📌 Growth MoM:
Jan: — (không có tháng trước)
Feb: =(Rev_Feb - Rev_Jan) / Rev_Jan
Mar: =(Rev_Mar - Rev_Feb) / Rev_Feb
... (lặp cho 12 tháng)

📌 Conditional Formatting:
Chọn 11 ô Growth (Feb-Dec)
→ Color Scale: Green (positive) → White (zero) → Red (negative)
→ HOẶC: Data Bars → Green for positive, Red for negative

📦 Deliverable

#DeliverableFormatMô tả
1File Excel Dashboard.xlsxSheet 1 — Cleaned: Dữ liệu đã clean từ Buổi 3 (giữ nguyên + cột phụ Month, Quarter, Year)
Sheet 2 — KPI: Bảng KPI tổng thể + Quarterly (Growth QoQ) + Regional
Sheet 3 — Charts: 4 biểu đồ: Revenue Trend, Top 10, Regional, Pareto
Sheet 4 — Dashboard: Trang tổng hợp 1 màn hình: KPI Cards + Charts + Slicer + Timeline + Sparklines
23 Insight kinh doanhTrong sheet Dashboard hoặc file riêng3 nhận xét có số liệu cụ thể + đề xuất hành động

🎯 Output này đóng góp vào Capstone Project: Dashboard là deliverable quan trọng trong giai đoạn Share (Google Data Analytics Framework). File này sẽ trở thành mẫu dashboard trong portfolio và được reuse cho Capstone dataset.

Cấu trúc file nộp

HọTên_Buoi04_Dashboard.xlsx
├── Sheet 1: Cleaned
│   ├── ~470 dòng dữ liệu đã clean (từ Buổi 3)
│   └── Cột phụ: Month, Quarter, Year
├── Sheet 2: KPI
│   ├── Bảng KPI tổng thể (6 chỉ số)
│   ├── Bảng KPI Quarterly + Growth QoQ
│   └── Bảng KPI Regional + Revenue Share
├── Sheet 3: Charts
│   ├── Revenue Trend Line Chart (12 tháng)
│   ├── Top 10 Products Bar Chart
│   ├── Regional Breakdown Pie/Doughnut Chart
│   └── Pareto Chart (Column + Line)
├── Sheet 4: Dashboard ⭐
│   ├── Header + kỳ báo cáo
│   ├── 4 KPI Cards (Revenue, Orders, AOV, Growth)
│   ├── 4 Charts (copy từ Sheet Charts hoặc tạo từ Pivot)
│   ├── Slicer: Region, Category
│   ├── Timeline: Order_Date
│   ├── Sparklines: Revenue trend × 4 Region
│   ├── Conditional Formatting: Data Bars, Icon Sets, Color Scales
│   └── 3 Insights kinh doanh
└── (Ẩn) Sheet 5: PivotDashboard
    └── Pivot Table phụ trợ cho Slicer/Timeline

Ví dụ 3 Insight kinh doanh

Insight 1 — Seasonality rõ rệt: Doanh thu Q4/2025 (~375M) tăng 23% so với Q3 (~305M), driven bởi các chiến dịch 11.11, Black Friday, và 12.12. Riêng tháng 12 (~135M) cao hơn 59% so với tháng 2 (~85M — tháng thấp nhất do Tết Nguyên Đán). Đề xuất: Chuẩn bị hàng tồn kho từ tháng 9 để đáp ứng nhu cầu Q4, đặc biệt nhóm Điện Tử — danh mục dẫn đầu doanh thu.

Insight 2 — Tập trung thị trường: Khu vực Nam chiếm 36% tổng doanh thu (~450M), tiếp đến Bắc 30.4% (~380M). Hai khu vực trọng điểm chiếm 66.4% — nhưng Tây Nguyên chỉ 13.6% (~170M) với AOV thấp nhất (~2.13M so với trung bình 2.66M). Đề xuất: Tăng ngân sách marketing cho Tây Nguyên, thử nghiệm chương trình combo sản phẩm để nâng AOV lên mức trung bình.

Insight 3 — Pareto & Sản phẩm chiến lược: Top 10 sản phẩm chiếm ~21% tổng doanh thu, trong đó 7/10 thuộc nhóm Điện Tử và Thời Trang — 2 danh mục chiếm 53.6% doanh thu (gần đạt ngưỡng Pareto 80/20 nếu tính top 3 danh mục = 74.4%). Đề xuất: Ưu tiên đàm phán giá tốt hơn với nhà cung cấp Điện Tử & Thời Trang, tạo bundle sản phẩm cross-category (Điện Tử + Gia Dụng) để nâng basket size.

Cách nộp:

  1. Đặt tên file: HoTen_Buoi04_Dashboard.xlsx
  2. Upload lên LMS hoặc Google Drive (share link với quyền view)
  3. Đảm bảo sheet Dashboard mở mặc định khi mở file (click vào tab Dashboard trước khi Save)
  4. Kiểm tra Slicer/Timeline hoạt động đúng trước khi nộp

📊 Tiêu chí chấm điểm

Tiêu chíTrọng sốMô tả chi tiết
KPI Summary chính xác25%6 KPI tổng thể đúng. Bảng Quarterly có Growth QoQ. Bảng Regional có Revenue Share. Dùng SUMIFS, COUNTIFS đúng.
Charts chuyên nghiệp30%4 charts đầy đủ (Trend, Top 10, Regional, Pareto). Có tiêu đề, nhãn trục, data labels, legend. Pareto có đường % tích luỹ + ngưỡng 80%.
Dashboard tương tác30%Layout 1 trang rõ ràng (5-second rule). Slicer Region + Category hoạt động. Timeline lọc đúng. Có Conditional Formatting (Data Bars hoặc Icon Sets). Có ≥1 Sparkline.
Insights kinh doanh15%3 insights có số liệu cụ thể. Mỗi insight có so sánh + đề xuất hành động. Gắn kết với quyết định kinh doanh thực tế.

Thang điểm chi tiết

MứcĐiểmMô tả
Xuất sắc9–10Đầy đủ 4 charts + KPI + Slicer + Timeline + Sparklines. Dashboard layout chuẩn, nhìn 5 giây hiểu ngay. Insights sâu sắc + Bonus.
Tốt7–8Đầy đủ KPI + 3-4 charts + Slicer. Dashboard rõ ràng. 3 insights hợp lý. 1–2 lỗi nhỏ về format.
Đạt5–6Có KPI + 2 charts + Slicer hoặc Timeline. Dashboard cơ bản. Insights chung chung.
Chưa đạt< 5Thiếu KPI hoặc charts. Không có Dashboard tổng hợp. Không có Slicer/Timeline.

💡 Tips & Common Mistakes

✅ Tips

  1. Ẩn gridlines trước khi thiết kế Dashboard. View → bỏ tick Gridlines. Dashboard trông chuyên nghiệp hơn 10 lần chỉ với 1 click này. Thêm nền xám nhạt (#F5F5F5) cho toàn sheet, nền trắng cho KPI Cards và Charts.

  2. Giữ ALT khi kéo chart/Slicer. Chart và Slicer sẽ snap vào cạnh ô — giúp căn chỉnh đều, đẹp mắt. Không cần đo pixel thủ công.

  3. Slicer kết nối nhiều Pivot Table. Chuột phải Slicer → Report Connections → tick tất cả Pivot Table liên quan. Khi click Slicer, TẤT CẢ charts được lọc cùng lúc — đây là "magic" của interactive dashboard.

  4. Format số tỷ/triệu cho dễ đọc. Không ai muốn đọc "1,250,000,000". Dùng custom format #,##0,,"B" để hiện "1B", hoặc =TEXT(value/1000000, "0.0") & "M" để hiện "1250.0M". Quy tắc: doanh thu >= tỷ → dùng "tỷ", < tỷ → dùng "triệu".

  5. 5-second rule cho mọi chart. Tự hỏi: "Nếu sếp nhìn chart này trong 5 giây, sếp hiểu được gì?" Nếu câu trả lời là "không biết" → chart cần sửa. Thêm tiêu đề rõ ràng, bỏ chart junk (viền, nền, 3D effect).

  6. Dùng Pivot Table làm data source cho Dashboard charts. Không tạo chart từ raw data range — vì Slicer/Timeline chỉ hoạt động với Pivot Table hoặc Table. Tạo Pivot Table phụ → ẩn sheet → chart tự cập nhật khi filter.

  7. Luôn test Slicer trước khi nộp. Click từng option trên Slicer, kiểm tra tất cả charts đều thay đổi tương ứng. Multi-select bằng Ctrl+Click. Clear filter bằng icon 🔄 góc trên phải Slicer.

❌ Common Mistakes

LỗiGiải thíchCách sửa
Chart tạo từ range thường, Slicer không hoạt độngSlicer chỉ kết nối với Pivot Table / TableConvert data sang Table (Ctrl+T) hoặc tạo Pivot Table
KPI Cards hiện "1250000000" — khó đọcKhông format số phù hợpDùng custom format #,##0,,"B" hoặc =TEXT(value/1e9, "0.00") & " tỷ"
Pie chart quá nhiều categories (>6)Pie chart chỉ hiệu quả khi ≤ 5–6 slicesGom nhóm nhỏ thành "Khác", hoặc chuyển sang Bar chart
Dashboard quá nhiều chart (>6) trên 1 trangInformation overload — vi phạm 5-second ruleGiữ tối đa 4–5 charts + KPI Cards. Chi tiết để ở sheet riêng
Slicer Region không lọc được tất cả chartsSlicer chỉ kết nối với 1 Pivot Table mặc địnhChuột phải Slicer → Report Connections → tick TẤT CẢ Pivot Tables
Pareto chart thiếu đường % tích luỹPareto = Column + Line, chỉ có Column thì chưa đủThêm series % Tích luỹ → đặt ở trục phụ (Secondary Axis) → Line chart
Sparklines quá nhỏ, không nhìn rõÔ chứa Sparkline quá hẹpMở rộng Width cột chứa Sparkline lên ~120–150px. Bật High/Low Point markers
Quên Refresh Pivot Table sau khi thay đổi dataPivot Table cache data cũ, chart shows stale dataChuột phải Pivot Table → Refresh. Hoặc: PivotTable Analyze → Refresh All
Timeline kéo sai khoảng, chart trốngTimeline lọc theo khoảng ngày mà Pivot không có dataClick đôi vào Timeline → Clear Filter để reset

📚 Tài liệu tham khảo

🔗 Xem thêm Buổi 4

📘 Nội dung chính📝 Blog🧠 Case Study🏆 Tiêu chuẩn🎮 Mini Game