Google Sheets vốn dĩ đã là một công cụ bảng tính cực kỳ mạnh mẽ, nhưng khi kết hợp với Google Apps Script, khả năng của nó gần như là vô hạn. Với vai trò là một chuyên gia công nghệ, tôi đã sử dụng Google Sheets trong nhiều năm mà không hề chạm đến tính năng Apps Script này. Một khi đã khám phá, tôi nhận ra mình có thể tự động hóa hàng loạt công việc lặp đi lặp lại mà trước đây tôi thậm chí không nhận ra chúng đang làm chậm mình lại. Apps Script thực sự là một “người hùng thầm lặng” giúp bạn nâng tầm hiệu suất làm việc với bảng tính.
Tự Động Hóa Các Tác Vụ Lặp Đi Lặp Lại Trong Google Sheets
Nếu bạn đã quá mệt mỏi với việc lặp đi lặp lại một tác vụ trong Google Sheets, dù là chèn ngày, làm sạch văn bản, áp dụng định dạng, hay xuất dữ liệu, thì Apps Script chính là giải pháp hữu hiệu. Nó cho phép bạn tạo ra các đoạn mã để tự động hóa những công việc tẻ nhạt này, giúp tiết kiệm đáng kể thời gian và công sức.
Ví dụ, bạn có thể dễ dàng chèn ngày hiện tại vào Google Sheets bằng cách nhấn Ctrl + ; trên Windows hoặc Cmd + ; trên Mac. Tuy nhiên, nếu bạn cần định dạng cụ thể như yyyy-MM-dd, bạn phải sử dụng công thức hoặc định dạng thủ công. Với Apps Script, bạn có thể tạo một hàm nhận ngày hiện tại, định dạng nó theo ý muốn, sau đó chèn vào các ô đã chọn.
Bạn chỉ cần thực hiện việc này một lần duy nhất, và có thể tái sử dụng bất cứ khi nào bạn cần. Dưới đây là ví dụ về đoạn script để chèn ngày tháng tự động:
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 các phần tiếp theo, chúng tôi sẽ hướng dẫn bạn cách chạy đoạn mã này trực tiếp từ bảng tính của mình.
Xây Dựng Bảng Tính Google Sheets Tùy Chỉnh Chuyên Nghiệp
Một trong những cách Apps Script giúp bạn tùy chỉnh bảng tính của mình là cho phép tạo ra các công cụ chuyên biệt để tinh gọn quy trình làm việc. Chẳng hạn, bạn có thể chèn một nút bấm để áp dụng định dạng hoặc thực hiện các phép tính nâng cao, hoặc tạo các bảng điều khiển (dashboard) giúp bạn dễ dàng phân tích dữ liệu. Những khả năng này vượt xa những gì Google Sheets có thể tự làm.
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 từ bên trong bảng tính. Dưới đây là đoạn script thực hiện điều đó (hãy chèn nó phía trên hàm trong phần trước):
function onOpen(){
var ui = SpreadsheetApp.getUi();
ui.createMenu('My Menu').addItem('Insert Current Date', 'insertCurrentDate').addToUi();
}
Sau khi bạn chạy đoạn mã này trong 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 menu trên cùng. Giờ đây, bạn có thể chèn ngày hiện tại vào ô đã chọn bằng cách nhấp vào My Menu > Insert Current Date.
Menu tùy chỉnh "My Menu" và chức năng "Insert Current Date" được tạo bằng Google Apps Script trong Google Sheets.
Thực Hiện Các Phép Tính Cụ Thể Với Hàm Tùy Chỉnh (Custom Functions)
Google Sheets không phải lúc nào cũng có sẵn các hàm bạn cần để thực hiện các phép tính cụ thể. Trong những trường hợp này, việc tạo hàm riêng của bạn bằng Apps Script, chèn phép tính vào đó và sử dụng nó trong trang tính (giống như bất kỳ hàm nào khác) là giải pháp tối ưu. Điều này cũng có nghĩa là bạn không phải lặp lại các phép tính phức tạp trong suốt script, giúp bảng tính của bạn gọn gàng và dễ đọc hơn.
Hãy xem xét hàm dưới đây, nó nhận một ngày 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ẽ cho biết nếu đã quá hạn, còn lại bao nhiêu ngày, hoặc đến hạn vào hôm nay. Điều tuyệt vời nhất của Apps Script là bạn có thể tạo một trigger dựa trên thời gian để chạy hàm vào một thời điểm cụ thể (ví dụ: nửa đêm) nhằm tự động cập nhật ngày đáo hạn. Nó thậm chí có thể được sử dụng cho định dạng có điều kiện – khả năng là vô tận.
Tích Hợp Google Apps Script Với Các Dịch Vụ Google Khác
Apps Script cho phép bạn tích hợp các bảng tính của mình với các dịch vụ Google khác, bao gồm 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ụ script trích xuất nội dung chính từ một tài liệu Google Docs và chèn nó vào ô A1:
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);
}
Đảm bảo thay thế insert Google Docs ID here ở dòng thứ hai bằng ID của tài liệu Google Docs mà bạn muốn lấy nội dung (đừng xóa dấu ngoặc kép).
Google Apps Script: Dễ Học Hơn Bạn Tưởng
Nếu bạn đã có một chút kiến thức lập trình cơ bản, 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 chậm rãi với các tác vụ và tự động hóa đơn giản (các phép tính cơ bản và gửi email), sau đó dần dần nâng cao kỹ năng của mình.
Giao diện trình soạn thảo Google Apps Script trực quan trên nền tảng đám mây.
Ngay cả khi bạn chưa từng viết mã trong đời, Apps Script có thể là một cách tuyệt vời để học lập trình. Vì bạn chủ yếu sẽ sử dụng nó để 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 động lực tuyệt vời. Mặc dù vậy, bạn vẫn cần học 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 có các hướng dẫn tuyệt vời, và Apps Script có một cộng đồng hỗ trợ nhiệt tình để giúp đỡ bạn.
Hơn nữa, không cần thiết lập phức tạp, vì Apps Script chạy trên đám mây. Bạn không cần bất kỳ phần mềm hoặc thư viện bổ sung 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 Google Docs và rất đáng để thử. Điều tuyệt vời về Apps Script là bạn cũng có thể sử dụng nó trong các ứng dụng Google Workspace khác như Docs và Slides.
Kết luận: Google Apps Script mở ra một thế giới khả năng mới cho người dùng Google Sheets, từ tự động hóa các tác vụ hàng ngày, tùy chỉnh giao diện, đến tích hợp sâu rộng với các dịch vụ Google khác. Với cú pháp dựa trên JavaScript và môi trường phát triển trên đám mây, Apps Script không chỉ là công cụ mạnh mẽ mà còn tương đối dễ tiếp cận cho người dùng ở mọi cấp độ. Hãy thử nghiệm Apps Script ngay hôm nay để biến Google Sheets của bạn thành một công cụ làm việc cá nhân hóa, thông minh và hiệu quả hơn.