Dạo gần đây mình có tìm hiểu về Google Apps Script để xử lý dữ liệu trên Google Sheets và thấy nó khá hay, có nhiều tiềm năng để tự động hóa các tác vụ mà Excel đôi khi làm chưa tới hoặc cần các công cụ phức tạp hơn. Mình nghĩ nó cũng rất phù hợp với chuyên mục 'Tin học mở rộng' của diễn đàn mình.
Khác với VBA trong Excel, Google Apps Script dựa trên nền tảng JavaScript, chạy trên cloud và có thể tương tác với nhiều dịch vụ khác của Google như Google Drive, Gmail, Google Calendar...
Ví dụ, mình đã thử viết một script nhỏ để tự động đọc dữ liệu từ một file Google Sheet, xử lý chuỗi ký tự và ghi kết quả sang một file Google Sheet khác. Các bước cơ bản mình làm như sau:
- Mở file Google Sheet nguồn.
- Đọc dữ liệu từ một sheet cụ thể.
- Áp dụng các hàm xử lý chuỗi (tương tự Left, Right, Mid, Find trong Excel nhưng là JavaScript).
- Ghi kết quả ra một sheet khác hoặc một file khác.
Code minh họa cho việc đọc dữ liệu và xử lý chuỗi đơn giản:
function processData() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getSheetByName('Sheet1'); // Thay 'Sheet1' bằng tên sheet của bạn
var data = sheet1.getDataRange().getValues();
var processedData = [];
for (var i = 0; i < data.length; i++) {
var row = data[i];
var textValue = row[0]; // Lấy giá trị ở cột đầu tiên
// Ví dụ xử lý chuỗi: Lấy 5 ký tự đầu tiên
var processedText = textValue.substring(0, 5);
row.push(processedText); // Thêm kết quả xử lý vào cuối hàng
processedData.push(row);
}
var sheet2 = ss.getSheetByName('Sheet2'); // Thay 'Sheet2' bằng tên sheet đích
if (!sheet2) {
sheet2 = ss.insertSheet('Sheet2');
}
sheet2.getRange(1, 1, processedData.length, processedData[0].length).setValues(processedData);
}
Việc này giúp mình tự động hóa việc gom và xử lý dữ liệu mà không cần mở file Excel hay copy-paste thủ công. Có anh em nào đã từng dùng Google Apps Script cho các tác vụ phức tạp hơn không? Chia sẻ kinh nghiệm cho mình học hỏi với ạ!