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, nó trở nên vượt xa mọi giới hạn. Với nhiều năm kinh nghiệm sử dụng Sheets, tôi từng bỏ qua tính năng này. Nhưng một khi bắt đầu khám phá, tôi nhận ra Apps Script chính là chìa khóa để tự động hóa những công việc lặp đi lặp lại mà tôi thậm chí không nhận ra đang làm chậm mình.
Google Apps Script là gì và vì sao nên dùng?
Google Apps Script là một nền tảng phát triển dựa trên JavaScript, cho phép bạn mở rộng và tự động hóa các ứng dụng Google Workspace như Google Sheets, Docs, Gmail, Drive và Calendar. Nó hoạt động trên nền tảng đám mây, loại bỏ nhu cầu về phần mềm phức tạp, giúp bạn nhanh chóng biến ý tưởng thành hiện thực mà không cần cài đặt rườm rà. Mục tiêu cốt lõi của Apps Script là đơn giản hóa quy trình làm việc, tối ưu hóa hiệu suất và mang lại khả năng tùy chỉnh vượt trội cho người dùng Google Workspace.
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 tháng, làm sạch văn bản, áp dụng định dạng hay xuất dữ liệu – Apps Script có thể giúp bạn tự động hóa hoàn toàn.
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 muốn định dạng cụ thể như yyyy-MM-dd, bạn sẽ 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 tự động lấy ngày hiện tại, định dạng theo ý muốn và 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 và có thể tái sử dụng bất cứ khi nào cần. Dưới đây là ví dụ về một đoạn mã đơn giản:
<span><span>function</span> <span>insertCurrentDate</span>() </span>{ <span>var</span> sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); <span>var</span> selectedCell = sheet.getActiveCell(); <span>var</span> currentDate = <span>new</span> <span>Date</span>(); <span>var</span> formattedDate = Utilities.formatDate(currentDate, Session.getScriptTimeZone(),<span>'yyyy-MM-dd'</span>); <span>selectedCell</span><span>.setValue</span>(<span>formattedDate</span>);}
Tùy biến bảng tính Google Sheets của bạn
Apps Script giúp bạn tùy chỉnh bảng tính bằng cách tạo ra các công cụ chuyên biệt, giúp tinh gọn quy trình làm việc. 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ể làm được một mình.
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 đó (chèn vào phía trên hàm đã viết ở phần trước):
<span><span>function</span> <span>onOpen</span>()</span>{ <span>var</span> ui = SpreadsheetApp.getUi(); ui.createMenu('My Menu').addItem('<span>Insert</span> <span>Current</span> <span>Date</span><span>', '</span>insertCurrentDate<span>').addToUi();</span>}
Sau khi 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 một ô đã chọn 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 Apps Script
Tạo hàm tùy chỉnh cho các phép tính chuyên biệt
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 chuyên biệt. Trong những trường hợp này, việc tạo hàm riêng bằng Apps Script, đưa phép tính vào đó và sử dụng trong Sheets (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 cần lặp lại các phép tính phức tạp trong toàn bộ bảng tính, 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 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 đến hạn (tương tự như tính toán sự khác biệt giữa hai ngày):
<span><span>function</span> <span>CHECKDUEDATE</span>(<span>inputDate</span>) </span>{ <span>var</span> today = <span>new</span> <span>Date</span>(); <span>var</span> timeDiff = today - inputDate; <span>var</span> daysDiff = <span>Math</span>.floor(timeDiff / (<span>1000</span> * <span>60</span> * <span>60</span> * <span>24</span>));<p> if (daysDiff <span>return</span> <span>"Overdue!"</span> } <span>else</span> <span>if</span> (daysDiff > <span>0</span>) { <span>return</span> <span>"Due in "</span> + daysDiff.toString() + <span>" days!"</span> } <span>else</span> { <span>return</span> <span>"Due today!"</span> }}</p>
Tùy thuộc vào ngày đã nhập, hàm sẽ hiển thị “Quá hạn!” nếu chênh lệch ngày nhỏ hơn 0, số ngày còn lại nếu lớn hơn 0, hoặc “Đến hạn hôm nay!” nếu bằng 0.
Phần 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) để tự động cập nhật ngày đến hạn. Nó thậm chí có thể được sử dụng cho định dạng có điều kiện – các khả năng là vô hạn.
Mở rộng khả năng tích hợp với hệ sinh thái Google Workspace
Apps Script 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, bao gồm Gmail, Google Drive và Google Docs. Khả năng này cho phép bạn xây dựng các quy trình làm việc toàn diện trải rộng trên 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 văn bản từ một tài liệu Google Docs và chèn vào ô A1:
<span><span>function</span> <span>getBodyTextFromGoogleDoc</span>() </span>{ <span>const</span> doc = DocumentApp.openById(<span>"insert Google Docs ID here"</span>); <span>const</span> bodyText = doc.getBody().getText();<p> <span>const</span> sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); <span>const</span> targetRange = sheet.getRange(<span>"A1"</span>);</p><p> <span>targetRange</span><span>.setValue</span>(<span>bodyText</span>);}</p>
Hãy đả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 (không xóa dấu ngoặc kép).
Apps Script: Không hề khó học như bạn nghĩ
Nếu bạn có 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 từ từ với các tác vụ tự động hóa và công việc đơn giản (tính toán cơ bản và gửi email), rồi dần dần phát triển lên.
Giao diện trình chỉnh sửa Google Apps Script IDE, nơi bạn viết và quản lý mã nguồn
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 để bắt đầu 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 lớn. 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ợ mạnh mẽ để giúp bạn.
Hơn nữa, không cần thiết lập phức tạp, vì nó chạy trên nền tảng đám mây. Bạn không cần phần mềm hoặc thư viện bổ sung.
Kết luận
Google Apps Script không chỉ là một công cụ bổ trợ mà là một “vũ khí” bí mật giúp bạn khai thác tối đa tiềm năng của Google Sheets và toàn bộ hệ sinh thái Google Workspace. Từ việc tự động hóa các thao tác lặp đi lặp lại, tạo ra các hàm và menu tùy chỉnh, đến việc tích hợp liền mạch với Gmail hay Google Docs, Apps Script mở ra một thế giới khả năng vô tận để tối ưu hóa quy trình làm việc của bạn. Dù bạn là người mới bắt đầu hay đã có kinh nghiệm lập trình, đây là một công cụ đáng để khám phá và đầu tư thời gian.
Hãy thử ngay Apps Script để biến các quy trình công việc của bạn trở nên thông minh và hiệu quả hơn! Đừng quên chia sẻ những khám phá và mẹo Apps Script của bạn với chúng tôi nhé!