Pada artikel ini, kita akan melihat contoh kode JavaScript yang dapat digunakan untuk memperbarui kolom "datetime" secara otomati...
Pada artikel ini, kita akan melihat contoh kode JavaScript yang dapat digunakan untuk memperbarui kolom "datetime" secara otomatis di Google Sheets setiap kali kolom "id" dan "data" diisi. Kode ini menggunakan Google Apps Script dan akan memanfaatkan fungsi onEdit()
yang akan dipanggil setiap kali ada perubahan pada lembar kerja.
Anda dapat menggunakan Google Apps Script untuk membuat trigger yang akan memperbarui kolom "datetime" setiap kali "id" dan "data" diisi. Berikut adalah contoh kode yang dapat Anda gunakan:
function onEdit(e) {
var sheet = e.source.getActiveSheet();
var editedCell = sheet.getActiveCell();
// Pastikan perubahan terjadi di kolom "id" atau "data"
if (editedCell.getColumn() == 1 || editedCell.getColumn() == 2) {
var row = editedCell.getRow();
var id = sheet.getRange(row, 1).getValue();
var data = sheet.getRange(row, 2).getValue();
// Pastikan "id" dan "data" tidak kosong
if (id != "" && data != "") {
var dateTime = Utilities.formatDate(new Date(), "GMT", "MM/dd/yyyy HH:mm:ss");
sheet.getRange(row, 3).setValue(dateTime);
}
}
}
Kode di atas akan membuat sebuah fungsi onEdit
yang akan dipanggil setiap kali ada perubahan pada lembar kerja (spreadsheet). Jika perubahan terjadi di kolom "id" (kolom 1) atau "data" (kolom 2), maka kode akan memeriksa apakah kedua kolom tersebut terisi. Jika demikian, kode akan mengambil tanggal dan waktu saat ini menggunakan Utilities.formatDate(new Date(), "GMT", "MM/dd/yyyy HH:mm:ss")
dan mengatur nilainya pada kolom "datetime" (kolom 3) pada baris yang sama.
Jika nama worksheet (lembar kerja) Anda adalah "Sheet1", maka Anda dapat memodifikasi kode sebelumnya dengan menambahkan kode berikut sebelum mengambil lembar kerja aktif:
var sheetName = "Sheet1";
var sheet = e.source.getSheetByName(sheetName);
Kode lengkapnya akan terlihat seperti ini:
function onEdit(e) {
var sheetName = "Sheet1";
var sheet = e.source.getSheetByName(sheetName);
var editedCell = sheet.getActiveCell();
// Pastikan perubahan terjadi di kolom "id" atau "data"
if (editedCell.getColumn() == 1 || editedCell.getColumn() == 2) {
var row = editedCell.getRow();
var id = sheet.getRange(row, 1).getValue();
var data = sheet.getRange(row, 2).getValue();
// Pastikan "id" dan "data" tidak kosong
if (id != "" && data != "") {
var dateTime = Utilities.formatDate(new Date(), "GMT", "MM/dd/yyyy HH:mm:ss");
sheet.getRange(row, 3).setValue(dateTime);
}
}
}
Pastikan bahwa Anda telah menyimpan perubahan pada skrip dan memberikan izin yang diperlukan seperti yang dijelaskan sebelumnya. Setelah itu, setiap kali Anda memasukkan atau mengubah nilai di kolom "id" atau "data" pada "Sheet1", kolom "datetime" akan diperbarui secara otomatis dengan tanggal dan waktu saat ini.
Untuk menggunakan kode di atas, ikuti langkah-langkah berikut:
- Buka lembar kerja Google Sheets yang ingin Anda gunakan.
- Pilih "Extensions" dari menu dan pilih "Apps Script".
- Salin dan tempelkan kode di atas ke editor skrip yang terbuka.
- Simpan perubahan dengan menekan tombol "Save" (atau menggunakan kombinasi tombol
Ctrl + S
). - Tutup editor skrip dan kembali ke lembar kerja Google Sheets.
- Setiap kali Anda memasukkan atau mengubah nilai di kolom "id" atau "data", kolom "datetime" akan diperbarui secara otomatis dengan tanggal dan waktu saat ini.
Pastikan bahwa Anda memberikan izin yang diperlukan untuk menjalankan skrip di lembar kerja Anda. Anda mungkin akan diminta untuk memberikan izin saat pertama kali menjalankan skrip.
COMMENTS