Hướng dẫn tạo Dashboard báo cáo tự động với Google Sheets
15 tháng 1, 2026
Cập nhật: 25 tháng 3, 2026
16 phút đọc

# Hướng dẫn tạo Dashboard báo cáo tự động với Google Sheets
Dashboard giúp bạn nắm bắt tình hình kinh doanh một cách trực quan. Hãy cùng xây dựng từ đầu!
## Tổng quan Dashboard
### Các thành phần chính:
1. **KPI Cards** - Các chỉ số quan trọng
2. **Charts** - Biểu đồ trực quan
3. **Tables** - Bảng dữ liệu chi tiết
4. **Filters** - Bộ lọc tương tác
## 1. Chuẩn bị dữ liệu
### Sheet "Data" - Dữ liệu thô:
```
| Date | Product | Category | Revenue | Cost | Quantity |
|------------|------------|----------|----------|---------|----------|
| 2024-01-01 | Product A | Cat 1 | 1000000 | 700000 | 10 |
| 2024-01-01 | Product B | Cat 2 | 2000000 | 1400000 | 20 |
```
### Sheet "Config" - Cấu hình:
```
| Key | Value |
|------------------|------------|
| ReportMonth | 2024-01 |
| TargetRevenue | 100000000 |
| TargetProfit | 30000000 |
```
## 2. Tính toán KPIs
### Tổng doanh thu tháng:
```
=SUMIFS(Data!D:D,
TEXT(Data!A:A,"YYYY-MM"), Config!B1)
```
### Tổng lợi nhuận:
```
=SUMIFS(Data!D:D, TEXT(Data!A:A,"YYYY-MM"), Config!B1)
- SUMIFS(Data!E:E, TEXT(Data!A:A,"YYYY-MM"), Config!B1)
```
### Tỷ lệ đạt target:
```
=B2/Config!B2 // Doanh thu thực tế / Target
```
### So sánh với tháng trước:
```
=B2 / SUMIFS(Data!D:D,
TEXT(Data!A:A,"YYYY-MM"),
TEXT(EOMONTH(DATE(LEFT(Config!B1,4),MID(Config!B1,6,2),1),-1),"YYYY-MM")
) - 1
```
## 3. Thiết kế KPI Cards
### Layout trong Google Sheets:
```
+------------------+------------------+------------------+
| 💰 DOANH THU | 📈 LỢI NHUẬN | 📦 ĐƠN HÀNG |
| 150,000,000 | 45,000,000 | 1,234 |
| ▲ 15% vs LM | ▲ 20% vs LM | ▼ 5% vs LM |
+------------------+------------------+------------------+
```
### Công thức hiển thị tăng/giảm:
```
=IF(B5>0, "▲ "&TEXT(B5,"0%")&" vs LM", "▼ "&TEXT(ABS(B5),"0%")&" vs LM")
```
### Conditional Formatting:
- Tăng: Màu xanh (#10B981)
- Giảm: Màu đỏ (#EF4444)
## 4. Tạo biểu đồ
### Biểu đồ doanh thu theo tháng (Line Chart):
**Dữ liệu nguồn:**
```
=QUERY(Data!A:D,
"SELECT MONTH(A)+1, SUM(D)
WHERE YEAR(A)=2024
GROUP BY MONTH(A)+1
ORDER BY MONTH(A)+1
LABEL MONTH(A)+1 'Tháng', SUM(D) 'Doanh thu'")
```
### Biểu đồ theo danh mục (Pie Chart):
```
=QUERY(Data!A:D,
"SELECT C, SUM(D)
GROUP BY C
ORDER BY SUM(D) DESC
LABEL C 'Danh mục', SUM(D) 'Doanh thu'")
```
### Top sản phẩm (Bar Chart):
```
=QUERY(Data!A:D,
"SELECT B, SUM(D)
GROUP BY B
ORDER BY SUM(D) DESC
LIMIT 10
LABEL B 'Sản phẩm', SUM(D) 'Doanh thu'")
```
## 5. Sparklines - Biểu đồ mini
### Sparkline trong ô:
```
=SPARKLINE(B2:M2, {"charttype","line";"color","#4F46E5";"linewidth",2})
```
### Sparkline dạng thanh:
```
=SPARKLINE(B2:G2, {"charttype","bar";"color1","#10B981";"color2","#EF4444"})
```
### Progress bar:
```
=SPARKLINE({B2/Config!$B$2, 1-B2/Config!$B$2},
{"charttype","bar";"color1","#4F46E5";"color2","#E5E7EB"})
```
## 6. Bộ lọc tương tác
### Dropdown chọn tháng:
1. Tạo Data Validation với list tháng
2. Các công thức tham chiếu đến ô dropdown
```
// Ô B1 là dropdown chọn tháng
=SUMIFS(Data!D:D, TEXT(Data!A:A,"YYYY-MM"), B1)
```
### Checkbox lọc danh mục:
```
=IF(B2=TRUE, SUMIFS(..., C:C, "Category A"), 0)
```
## 7. Auto-refresh với Apps Script
```javascript
function autoRefreshDashboard() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const dashboard = ss.getSheetByName('Dashboard');
// Cập nhật timestamp
dashboard.getRange('A1').setValue(
'Cập nhật: ' + Utilities.formatDate(
new Date(),
'Asia/Ho_Chi_Minh',
'dd/MM/yyyy HH:mm'
)
);
// Force refresh các công thức
SpreadsheetApp.flush();
}
// Trigger mỗi giờ
function createHourlyTrigger() {
ScriptApp.newTrigger('autoRefreshDashboard')
.timeBased()
.everyHours(1)
.create();
}
```
## 8. Tips thiết kế đẹp
### Màu sắc:
- **Background**: #F8FAFC (xám nhạt)
- **Cards**: #FFFFFF (trắng)
- **Primary**: #4F46E5 (indigo)
- **Success**: #10B981 (xanh lá)
- **Danger**: #EF4444 (đỏ)
### Font:
- **Tiêu đề**: Bold, 14-18px
- **Số liệu lớn**: Bold, 24-32px
- **Chi tiết**: Regular, 10-12px
### Layout:
- Sử dụng merge cells cho KPI cards
- Căn giữa số liệu quan trọng
- Để khoảng trắng giữa các sections
## Kết luận
Dashboard tốt giúp ra quyết định nhanh và chính xác. Hãy bắt đầu với các KPIs quan trọng nhất, sau đó bổ sung dần các biểu đồ và bộ lọc.
> **Mẹo**: Sử dụng các template Dashboard có sẵn trên SheetStore để tiết kiệm thời gian!
📚 Bài Viết Liên Quan
- Template Google Sheets Báo Cáo Bán Hàng Theo Vùng và Đại Lý 2027: Phân Tích Đa Chiều
- Google Sheets Nâng Cao Bài 9: Bảo Mật, Phân Quyền và Chia Sẻ Chuyên Nghiệp
- Google Sheets Nâng Cao Bài 4: Hàm QUERY - Lọc và Phân Tích Dữ Liệu Chuyên Nghiệp
- Template Google Sheets Quản Lý Phòng Khám và Bệnh Viện Nhỏ 2027
Chia sẻ bài viết:
Hoàng Mạnh Tuân
Bạn thấy bài viết hữu ích?
Đăng ký nhận thông báo khi có bài viết mới.