Google Trang tính là một công cụ bảng tính mạnh mẽ dựa trên đám mây cho phép bạn thực hiện gần như mọi thứ bạn có thể làm trong Microsoft Excel. Nhưng sức mạnh thực sự của Google Trang tính là tính năng Google Scripting đi kèm với nó
Tập lệnh Google Apps là một công cụ tạo tập lệnh nền không chỉ hoạt động trong Google Trang tính mà còn cả Google Tài liệu, Gmail, Google Analytics và gần như mọi dịch vụ đám mây khác của Google. Nó cho phép bạn tự động hóa các ứng dụng riêng lẻ đó và tích hợp từng ứng dụng đó với nhau
Mục lục
Trong bài viết này, bạn sẽ tìm hiểu cách bắt đầu với tập lệnh Google Apps, tạo tập lệnh cơ bản trong Google Trang tính để đọc và ghi dữ liệu ô cũng như các chức năng tập lệnh Google Trang tính nâng cao hiệu quả nhất
Cách tạo Tập lệnh Google Apps
Bạn có thể bắt đầu ngay bây giờ để tạo tập lệnh Google Apps đầu tiên của mình từ bên trong Google Trang tính.
Để thực hiện việc này, hãy chọn Công cụ từ menu, sau đó chọn Trình chỉnh sửa tập lệnh
Thao tác này sẽ mở cửa sổ trình soạn thảo tập lệnh và mặc định là hàm có tên myfunction[]. Đây là nơi bạn có thể tạo và kiểm tra Google Script của mình
Để thử, hãy thử tạo chức năng tập lệnh Google Trang tính sẽ đọc dữ liệu từ một ô, thực hiện phép tính trên ô đó và xuất lượng dữ liệu sang một ô khác
Hàm lấy dữ liệu từ một ô là hàm getRange[] và getValue[]. Bạn có thể xác định ô theo hàng và cột. Vì vậy, nếu bạn có một giá trị ở hàng 2 và cột 1 [cột A], phần đầu tiên của tập lệnh của bạn sẽ giống như thế này
function myFunction[] { var sheet = SpreadsheetApp.getActiveSheet[]; var row = 2; var col = 1; var data = sheet.getRange[row, col].getValue[]; }
Điều này lưu trữ giá trị từ ô đó trong biến dữ liệu. Bạn có thể thực hiện phép tính trên dữ liệu, rồi ghi dữ liệu đó vào một ô khác. Vì vậy, phần cuối cùng của chức năng này sẽ là
var results = data * 100; sheet.getRange[row, col+1].setValue[results]; }
Khi bạn viết xong chức năng của mình, hãy chọn biểu tượng đĩa để lưu.
Lần đầu tiên bạn chạy chức năng tập lệnh Google Trang tính mới như thế này [bằng cách chọn biểu tượng chạy], bạn sẽ cần cung cấp Ủy quyền để tập lệnh chạy trên Tài khoản Google của mình
Cho phép tiếp tục. Khi tập lệnh của bạn chạy, bạn sẽ thấy rằng tập lệnh đã ghi kết quả tính toán vào ô đích
Bây giờ bạn đã biết cách viết một chức năng tập lệnh cơ bản của Google Apps, hãy xem xét một số chức năng nâng cao hơn
Sử dụng getValues để tải mảng
Bạn có thể đưa khái niệm thực hiện các phép tính trên dữ liệu trong bảng tính của mình bằng cách viết kịch bản lên một cấp độ mới bằng cách sử dụng mảng. Nếu bạn tải một biến trong tập lệnh Google Apps bằng cách sử dụng getValues, thì biến đó sẽ là một mảng có thể tải nhiều giá trị từ trang tính
function myFunction[] { var sheet = SpreadsheetApp.getActiveSheet[]; var data = sheet.getDataRange[].getValues[];
Biến dữ liệu là một mảng nhiều chiều chứa tất cả dữ liệu từ trang tính. Để thực hiện phép tính trên dữ liệu, bạn sử dụng vòng lặp for. Bộ đếm của vòng lặp for sẽ hoạt động qua từng hàng và cột không đổi, dựa vào cột mà bạn muốn lấy dữ liệu
Trong bảng tính mẫu của chúng tôi, bạn có thể thực hiện phép tính trên ba hàng dữ liệu như sau
for [var i = 1; i < data.length; i++] { var result = data[i][0] * 100; sheet.getRange[i+1, 2].setValue[result]; } }
Lưu và chạy tập lệnh này giống như bạn đã làm ở trên. Bạn sẽ thấy rằng tất cả các kết quả được điền vào cột 2 trong bảng tính của bạn
Bạn sẽ nhận thấy rằng việc tham chiếu đến một ô và hàng trong một biến mảng khác với tham chiếu đến một hàm getRange.
data[i][0] đề cập đến kích thước mảng trong đó kích thước đầu tiên là hàng và thứ hai là cột. Cả hai đều bắt đầu từ số không
getRange[i+1, 2] đề cập đến hàng thứ hai khi i=1 [vì hàng 1 là tiêu đề] và 2 là cột thứ hai lưu trữ kết quả
Sử dụng appendRow để ghi kết quả
Nếu bạn có một bảng tính mà bạn muốn ghi dữ liệu vào một hàng mới thay vì một cột mới thì sao?
Điều này rất dễ thực hiện với chức năng appendRow. Hàm này sẽ không làm phiền bất kỳ dữ liệu hiện có nào trong trang tính. Nó sẽ chỉ thêm một hàng mới vào trang tính hiện có
Ví dụ: tạo một hàm sẽ đếm từ 1 đến 10 và hiển thị bộ đếm có bội số của 2 trong cột Bộ đếm
Chức năng này sẽ trông như thế này
function myFunction[] { var sheet = SpreadsheetApp.getActiveSheet[]; for [var i = 1; i Apps Script để mở trình chỉnh sửa tập lệnh, sau đó sao chép văn bản tập lệnh từ bảng tính gốc và dán vào trình chỉnh sửa tập lệnh của một bảng tính khác .