Google Sheets là một công cụ bảng tính mạnh mẽ, nhưng khi kết hợp với Google Apps Script, khả năng của nó được nâng lên một tầm cao mới, trở thành một nền tảng “làm mọi thứ”. Trong nhiều năm, hàng triệu người dùng đã bỏ lỡ tính năng đột phá này mà không hề hay biết rằng nó có thể tự động hóa hàng loạt công việc lặp đi lặp lại, giúp tiết kiệm đáng kể thời gian và công sức. Apps Script chính là chìa khóa để biến Google Sheets từ một công cụ đơn thuần thành một trợ lý tự động hóa đắc lực, giải phóng bạn khỏi những nhiệm vụ nhàm chán hàng ngày.
Tự Động Hóa Mọi Tác Vụ Lặp Lại Trong Google Sheets
Nếu bạn đang cảm thấy mệt mỏi khi phải lặp đi lặp lại các tác vụ trong Google Sheets – từ việc chèn ngày tháng, làm sạch dữ liệu, áp dụng định dạng cho đến xuất báo cáo – Google Apps Script chính là giải pháp. Nó cho phép bạn tự động hóa những công việc tốn thời gian này chỉ với vài dòng mã lệnh.
Lấy ví dụ, việc chèn ngày hiện tại vào Google Sheets có thể thực hiện nhanh bằng Ctrl + ;
trên Windows hoặc Cmd + ;
trên Mac. Tuy nhiên, nếu bạn cần một định dạng cụ thể như yyyy-MM-dd
, bạn sẽ phải dùng công thức phức tạp hoặc định dạng thủ công. Với Apps Script, bạn có thể tạo một hàm đơn giản để tự động lấy ngày hiện tại, định dạng theo ý muốn và chèn vào ô được chọn chỉ bằng một cú nhấp chuột hoặc lệnh gọi hàm. Bạn chỉ cần viết mã một lần và có thể tái sử dụng bất cứ khi nào cần.
Dưới đây là một ví dụ về đoạn mã để chèn ngày hiện tại theo định dạng yyyy-MM-dd
:
function insertCurrentDate() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var selectedCell = sheet.getActiveCell();
var currentDate = new Date();
var formattedDate = Utilities.formatDate(currentDate, Session.getScriptTimeZone(), 'yyyy-MM-dd');
selectedCell.setValue(formattedDate);
}
Trong phần tiếp theo, chúng ta sẽ cùng tìm hiểu cách chạy đoạn mã này trực tiếp từ bảng tính của bạn.
Tùy Biến Trang Tính Theo Nhu Cầu Riêng
Apps Script cho phép bạn tùy chỉnh Google Sheets bằng cách tạo ra các công cụ chuyên biệt, giúp tối ưu hóa quy trình làm việc. Bạn có thể chèn các nút bấm để thực hiện định dạng tự động, tính toán phức tạp, hoặc xây dựng các bảng điều khiển (dashboard) tương tác để phân tích dữ liệu dễ dàng hơn. Những khả năng này vượt xa giới hạn của Google Sheets thông thường.
Tiếp tục với ví dụ từ phần trước, chúng ta có thể thêm một mục menu tùy chỉnh để chạy hàm insertCurrentDate
ngay trong Google Sheets. Dưới đây là đoạn mã cần thêm vào (đặt phía trên hàm đã viết ở phần trước):
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('My Menu').addItem('Insert Current Date', 'insertCurrentDate').addToUi();
}
Sau khi chạy đoạn mã này trong trình chỉnh sửa Apps Script và làm mới Google Sheets, bạn sẽ thấy mục “My Menu” xuất hiện trên thanh công cụ. Giờ đây, bạn có thể chèn ngày hiện tại vào ô được chọn chỉ bằng cách nhấp vào My Menu > Insert Current Date.
Menu tùy chỉnh "My Menu" trong Google Sheets được tạo bằng Google Apps Script để chèn ngày tháng tự động
Tạo Hàm Tùy Chỉnh Cho Các Phép Tính Phức Tạp
Đôi khi, Google Sheets không có sẵn các hàm bạn cần để thực hiện những phép tính đặc thù. Trong những trường hợp này, việc tạo hàm tùy chỉnh riêng bằng Apps Script là giải pháp tối ưu. Bạn có thể nhúng các phép tính phức tạp vào hàm này và sử dụng chúng trong bảng tính giống như bất kỳ hàm tích hợp nào khác. Điều này giúp bảng tính của bạn trở nên gọn gàng và dễ đọc hơn, tránh việc lặp lại các công thức dài dòng.
Hãy xem xét hàm dưới đây, nó nhận một ngày đầu vào và kiểm tra xem đã bao nhiêu ngày trôi qua kể từ ngày hiện tại để xác định ngày đáo hạn:
function CHECKDUEDATE(inputDate) {
var today = new Date();
var timeDiff = today - inputDate;
var daysDiff = Math.floor(timeDiff / (1000 * 60 * 60 * 24));
if (daysDiff < 0) {
return "Overdue!";
} else if (daysDiff > 0) {
return "Due in " + daysDiff.toString() + " days!";
} else {
return "Due today!";
}
}
Tùy thuộc vào ngày được nhập, hàm này sẽ trả về “Overdue!” (quá hạn) nếu ngày đến hạn nhỏ hơn ngày hiện tại, “Due in X days!” (còn X ngày) nếu ngày đến hạn lớn hơn ngày hiện tại, hoặc “Due today!” (đến hạn hôm nay) nếu ngày đến hạn trùng với ngày hiện tại.
Điểm đặc biệt của Apps Script là bạn có thể tạo các kích hoạt dựa trên thời gian (time-based triggers) để chạy hàm này tự động vào một thời điểm cụ thể (ví dụ: nửa đêm) nhằm cập nhật động trạng thái đáo hạn. Nó cũng có thể được sử dụng kết hợp với định dạng có điều kiện (conditional formatting) để tô màu các ô theo trạng thái, mở ra vô vàn khả năng tùy biến.
Tích Hợp Google Apps Script Với Các Dịch Vụ Google Khác
Google Apps Script không chỉ dừng lại ở Google Sheets. Nó cho phép bạn tích hợp bảng tính của mình với các dịch vụ Google khác như Gmail, Google Drive và Google Docs. Khả năng này giúp bạn xây dựng các quy trình làm việc toàn diện, xuyên suốt nhiều công cụ trong hệ sinh thái Google.
Dưới đây là một ví dụ về đoạn mã có thể trích xuất nội dung văn bản từ một tài liệu Google Docs và chèn vào ô A1 trong Google Sheets:
function getBodyTextFromGoogleDoc() {
const doc = DocumentApp.openById("insert Google Docs ID here");
const bodyText = doc.getBody().getText();
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const targetRange = sheet.getRange("A1");
targetRange.setValue(bodyText);
}
Hãy nhớ thay thế "insert Google Docs ID here"
bằng ID của tài liệu Google Docs mà bạn muốn lấy nội dung (không xóa dấu ngoặc kép).
Google Apps Script Có Khó Học Không?
Nếu bạn đã có kiến thức lập trình cơ bản, Google Apps Script sẽ đặc biệt dễ học. Điều này càng đúng hơn nếu bạn quen thuộc với JavaScript, vì đây là ngôn ngữ chính được nền tảng này sử dụng. Bạn có thể bắt đầu từ những tác vụ tự động hóa và các nhiệm vụ đơn giản (như tính toán cơ bản hoặc gửi email), sau đó dần dần nâng cao kỹ năng của mình.
Giao diện trình chỉnh sửa Google Apps Script IDE, nơi viết và quản lý các đoạn mã tự động hóa
Ngay cả khi bạn chưa bao giờ viết mã trong đời, Apps Script cũng là một cách tuyệt vời để bắt đầu học lập trình. Vì mục đích chính là tự động hóa các tác vụ trong Google Sheets, bạn sẽ thấy kết quả ngay lập tức, đây là một yếu tố thúc đẩy tuyệt vời. Mặc dù vậy, bạn vẫn cần nắm vững các khái niệm lập trình cơ bản (ví dụ: biến, vòng lặp và hàm). Google cung cấp nhiều hướng dẫn tuyệt vời và cộng đồng Apps Script luôn sẵn lòng hỗ trợ bạn.
Hơn nữa, bạn không cần phải thiết lập phức tạp vì Apps Script chạy trên đám mây. Bạn không cần cài đặt thêm phần mềm hoặc thư viện nào.
Apps Script chỉ là một trong số rất nhiều tính năng mạnh mẽ mà bạn có thể bỏ lỡ trong hệ sinh thái Google Workspace. Điều thú vị là bạn có thể sử dụng Apps Script không chỉ với Google Sheets mà còn với các ứng dụng khác như Google Docs và Google Slides. Ví dụ, bạn có thể tạo một công cụ chuyển đổi định dạng chữ cái đơn giản trong Google Docs, điều mà ứng dụng này chưa có sẵn.