Menu

Tự động hóa việc tạo báo cáo hàng tuần với Google Sheets và Apps Script

Hùng Thiên Ngân 08/06/2026 05:02 171 lượt xem 3 trả lời

Chào mọi người,

Dạo gần đây mình có mò mẫm với Apps Script để tự động hóa một vài tác vụ trên Google Sheets và thấy nó khá hay, nên muốn chia sẻ với mọi người một chút kinh nghiệm nhỏ.

Công việc của mình thỉnh thoảng phải tạo báo cáo định kỳ hàng tuần từ một file dữ liệu gốc. Trước đây, mình thường phải copy-paste, lọc, rồi dùng các hàm như SUMIFS, COUNTIFS để tổng hợp. Tốn khá nhiều thời gian và dễ sai sót.

Sau khi tìm hiểu, mình đã viết một script nhỏ để tự động làm việc này. Script sẽ chạy vào một thời điểm nhất định trong tuần (ví dụ: tối Chủ Nhật), lấy dữ liệu từ Sheet nguồn, xử lý, và ghi kết quả vào một Sheet báo cáo mới. Nó giúp mình tiết kiệm được kha khá thời gian và đảm bảo tính chính xác.

Cấu trúc cơ bản của script mình dùng như sau:

function createWeeklyReport() { 
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sourceSheet = ss.getSheetByName('DuLieuGoc');
  var reportSheet = ss.getSheetByName('BaoCaoTuan');
  
  // Lấy dữ liệu nguồn
  var sourceData = sourceSheet.getDataRange().getValues();
  
  // Xử lý dữ liệu (ví dụ: lọc, tổng hợp)
  var processedData = processData(sourceData);
  
  // Xóa dữ liệu cũ trên sheet báo cáo (nếu cần)
  reportSheet.clearContents();
  
  // Ghi dữ liệu đã xử lý vào sheet báo cáo
  reportSheet.getRange(1, 1, processedData.length, processedData[0].length).setValues(processedData);
  
  // Định dạng báo cáo (tùy chọn)
  formatReportSheet(reportSheet);
}

function processData(data) {
  // Logic xử lý dữ liệu của bạn ở đây
  // Ví dụ: trả về một mảng dữ liệu đã được tổng hợp
  return data; // Thay thế bằng logic thực tế
}

function formatReportSheet(sheet) {
  // Logic định dạng ở đây
}

Để script tự động chạy, mình đã thiết lập một time-driven trigger trong Apps Script để nó chạy vào 8 giờ tối Chủ Nhật hàng tuần.

Nếu ai đang làm các công việc lặp đi lặp lại tương tự trên Google Sheets, mình nghĩ Apps Script là một công cụ rất đáng để tìm hiểu. Nó không quá phức tạp đâu ạ.

Có ai đã từng dùng Apps Script cho công việc của mình chưa? Chia sẻ kinh nghiệm hoặc các mẹo hay cho mọi người cùng biết với nhé!

3
Tuyệt vời quá bạn ơi! Mình cũng đang vật lộn với việc tạo báo cáo hàng tuần đây. Bạn có thể chia sẻ chi tiết hơn về đoạn script bạn đã viết không? Ví dụ như script của bạn lấy dữ liệu từ đâu, và cách bạn xử lý logic lọc hay tổng hợp như thế nào vậy? Mình đang tìm hiểu về Apps Script nên rất mong nhận được kinh nghiệm từ bạn. Cảm ơn bạn nhiều!
0

Hay quá bạn ơi! Mình cũng đang tìm hiểu về Apps Script để tự động hóa mấy cái báo cáo lặp đi lặp lại đây.

Đúng là làm thủ công mấy vụ copy-paste, lọc rồi SUMIFS tốn thời gian thật, mà sai sót thì lại mệt. Bạn viết script chạy định kỳ là đỉnh cao luôn rồi.

Cho mình hỏi thêm chút là script của bạn có xử lý trường hợp dữ liệu gốc thay đổi cấu trúc (thêm cột, bớt cột) không? Hay là mình phải chỉnh script mỗi lần vậy? Mình đang lo cái vụ này.

2

Hay quá bạn ơi! Mình cũng đang tìm hiểu về Apps Script để tự động hóa mấy cái báo cáo lặp đi lặp lại đây.

Đúng là làm thủ công mấy vụ copy-paste, lọc rồi SUMIFS tốn thời gian thật, mà sai sót thì lại mệt. Bạn viết script chạy định kỳ là đỉnh cao luôn rồi.

Cho mình hỏi thêm chút là script của bạn có xử lý trường hợp dữ liệu gốc thay đổi cấu trúc (thêm cột, bớt cột) không? Hay là mình phải chỉnh script mỗi lần vậy? Mình đang lo cái vụ này.

1

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký