Note: The other languages of the website are Google-translated. Back to English

Bagaimana cara memasukkan cap waktu secara otomatis ketika data diperbarui di kolom lain di lembar Google?

Jika Anda memiliki rentang sel dan Anda ingin menyisipkan stempel waktu secara otomatis ke dalam sel yang berdekatan saat data diubah atau diperbarui di kolom lain. Bagaimana Anda bisa menyelesaikan tugas ini di lembar Google?

Sisipkan stempel waktu secara otomatis saat data diperbarui di kolom lain dengan kode skrip


Sisipkan stempel waktu secara otomatis saat data diperbarui di kolom lain dengan kode skrip


Kode script berikut dapat membantu Anda menyelesaikan pekerjaan ini dengan cepat dan mudah, lakukan seperti ini:

1. Klik Tools > Editor skrip, lihat tangkapan layar:

2. Di jendela proyek yang terbuka, silakan salin dan tempel kode skrip di bawah ini untuk mengganti kode asli, lihat tangkapan layar:

function onEdit(e)
{ 
  var sheet = e.source.getActiveSheet();
  if (sheet.getName() == "order data") //"order data" is the name of the sheet where you want to run this script.
  {
    var actRng = sheet.getActiveRange();
    var editColumn = actRng.getColumn();
    var rowIndex = actRng.getRowIndex();
    var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues();
    var dateCol = headers[0].indexOf("Date") + 1;
    var orderCol = headers[0].indexOf("Order") + 1;
    if (dateCol > 0 && rowIndex > 1 && editColumn == orderCol) 
    { 
      sheet.getRange(rowIndex, dateCol).setValue(Utilities.formatDate(new Date(), "UTC+8", "MM-dd-yyyy")); 
    }
  }
}

Note: Pada kode di atas, data pesanan adalah nama sheet yang ingin Anda gunakan, Tanggal adalah tajuk kolom yang ingin Anda sisipkan cap waktu, dan Memesan adalah tajuk kolom yang nilai selnya ingin Anda perbarui. Harap ubah sesuai kebutuhan Anda.

3. Kemudian simpan jendela proyek, dan masukkan nama untuk proyek baru ini, lihat tangkapan layar:

4. Dan kemudian kembali ke lembar, sekarang, ketika data di kolom Order diubah, stempel waktu saat ini dimasukkan ke dalam sel kolom Tanggal secara otomatis yang berdekatan dengan sel yang dimodifikasi, lihat tangkapan layar:


Alat Produktivitas Kantor Terbaik

Kutools for Excel Memecahkan Sebagian Besar Masalah Anda, dan Meningkatkan Produktivitas Anda hingga 80%

  • Reuse: Masukkan dengan cepat rumus, bagan yang kompleks dan apa pun yang pernah Anda gunakan sebelumnya; Enkripsi Sel dengan kata sandi; Buat Milis dan mengirim email ...
  • Bilah Formula Super (dengan mudah mengedit beberapa baris teks dan rumus); Membaca Tata Letak (membaca dan mengedit sel dalam jumlah besar dengan mudah); Tempel ke Rentang yang Difilter...
  • Gabungkan Sel / Baris / Kolom tanpa kehilangan Data; Pisahkan Konten Sel; Gabungkan Baris / Kolom Duplikat... Mencegah Sel Duplikat; Bandingkan Rentang...
  • Pilih Duplikat atau Unik Baris; Pilih Baris Kosong (semua sel kosong); Temukan Super dan Temukan Fuzzy di Banyak Buku Kerja; Pilih Acak ...
  • Salinan Tepat Beberapa Sel tanpa mengubah referensi rumus; Buat Referensi Otomatis ke Beberapa Lembar; Sisipkan Poin, Kotak Centang, dan lainnya ...
  • Ekstrak Teks, Tambahkan Teks, Hapus berdasarkan Posisi, Hapus Space; Membuat dan Mencetak Subtotal Paging; Konversi Konten Antar Sel dan Komentar...
  • Filter Super (simpan dan terapkan skema filter ke sheet lain); Penyortiran Lanjutan menurut bulan / minggu / hari, frekuensi dan lainnya; Filter Khusus dengan huruf tebal, miring ...
  • Gabungkan Workbooks dan WorkSheets; Gabungkan Tabel berdasarkan kolom kunci; Pisahkan Data menjadi Beberapa Lembar; Konversi Batch xls, xlsx dan PDF...
  • Lebih dari 300 fitur canggih. Mendukung Office / Excel 2007-2019 dan 365. Mendukung semua bahasa. Penerapan yang mudah di perusahaan atau organisasi Anda. Fitur lengkap uji coba gratis 30 hari. Jaminan uang kembali 60 hari.
tab kte 201905

Tab Office Membawa antarmuka Tab ke Office, dan Membuat Pekerjaan Anda Jauh Lebih Mudah

  • Aktifkan pengeditan dan pembacaan tab di Word, Excel, PowerPoint, Publisher, Access, Visio, dan Project.
  • Buka dan buat banyak dokumen di tab baru di jendela yang sama, bukan di jendela baru.
  • Tingkatkan produktivitas Anda hingga 50%, dan kurangi ratusan klik mouse untuk Anda setiap hari!
officetab bawah
Urutkan komentar berdasarkan
komentar (62)
Belum ada peringkat. Jadilah yang pertama memberi peringkat!
Komentar ini diminimalkan oleh moderator di situs
dapatkah ini dimodifikasi untuk diterapkan ke lembar apa pun?
Komentar ini diminimalkan oleh moderator di situs
Apakah saya perlu menjalankan fungsi di editor skrip agar ini berfungsi? Saya terus mendapatkan kesalahan ini ketika saya mencobanya: TypeError: Cannot read property "source" from undefined. (baris 3, file "Kode")
Komentar ini diminimalkan oleh moderator di situs
Hi there!
Saya juga punya masalah ini. Akhirnya saya mengganti nama file saya menjadi "data pesanan", tetapi nama lembar saya masih "Sheet1" setelah saya mengganti nama lembar dan bukan buku kerja menjadi "data pesanan" semuanya berfungsi.
Komentar ini diminimalkan oleh moderator di situs
Hai, terima kasih untuk kode yang berfungsi sempurna untuk apa yang saya butuhkan. Namun saya membutuhkan bantuan Anda untuk mengetahui cara menambahkan kondisi agar tanggal ini muncul.
Sebenarnya, saya ingin memiliki tanggal ini hanya ketika angka dimasukkan dan tidak ada yang lain.
Apakah Anda tahu apa yang harus saya tambahkan ke kode untuk itu?
Saya bukan coder sama sekali, hanya copy paste, inilah mengapa saya sangat membutuhkan bantuan dan tidak dapat mengetahuinya sendiri.
terima kasih banyak atas bantuan Anda

berhenti
Komentar ini diminimalkan oleh moderator di situs
Saya juga ingin tahu cara mengunci sel itu setelah informasi dimasukkan ke sel sebelumnya.
Komentar ini diminimalkan oleh moderator di situs
saya punya pertanyaan yang sama
Komentar ini diminimalkan oleh moderator di situs
Hai. Terima kasih atas solusinya. Saya memiliki file bersama dan saya ingin waktu dicerminkan ketika ada orang yang mengedit lembar. Saat ini, ini hanya berfungsi ketika saya mengedit lembar. Bagaimana aku melakukan itu? Terima kasih sebelumnya :)
Komentar ini diminimalkan oleh moderator di situs
Saya suka skrip ini. Bagaimana saya hanya mendapatkan ini ke Waktu Cetak, bukan DATE? Itu yang saya butuhkan
Komentar ini diminimalkan oleh moderator di situs
Ubah baris terakhir menjadi sheet.getRange(rowIndex, dateCol).setValue(New Date());
Ini akan mengembalikan waktu tanggal, tetapi Anda hanya dapat menampilkan waktu jika Anda mau dari Format -> Nomor -> Waktu
Komentar ini diminimalkan oleh moderator di situs
Halo,

Anda juga dapat menerapkan kode berikut, tetapi Anda harus mengubah zona waktu menjadi milik Anda sendiri. Silakan coba.

fungsi diEdit(e)
{
var lembar = e.source.getActiveSheet();
if (sheet.getName() == "order data") //"order data" adalah nama sheet tempat Anda ingin menjalankan skrip ini.
{
var actRng = sheet.getActiveRange();
var editColumn = actRng.getColumn();
var barisIndex = actRng.getRowIndex();
var header = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues();
var dateCol = headers[0].indexOf("Tanggal") + 1;
var orderCol = headers[0].indexOf("Pesanan") + 1;
if (dateCol > 0 && rowIndex > 1 && editColumn == orderCol)
{
sheet.getRange(rowIndex, dateCol).setValue(Utilities.formatDate(Tanggal baru(), "GMT+8:00", "HH:mm:ss"));
}
}
}
Komentar ini diminimalkan oleh moderator di situs
Bagaimana cara membuatnya memiliki Waktu dan Tanggal?


Terima kasih.


Scott
Komentar ini diminimalkan oleh moderator di situs
Hai, Scott,

Untuk membuat kolom memiliki tanggal dan waktu, Anda harus menerapkan kode skrip berikut. Setelah memasukkan kode, lalu pilih kolom yang ingin Anda sisipkan tanggal dan waktu, lalu klik Format > Angka > Tanggal waktu untuk memformat sel sebagai pemformatan waktu tanggal.

fungsi diEdit(e)
{
var lembar = e.source.getActiveSheet();
if (sheet.getName() == "order data") //"order data" adalah nama sheet tempat Anda ingin menjalankan skrip ini.
{
var actRng = sheet.getActiveRange();
var editColumn = actRng.getColumn();
var barisIndex = actRng.getRowIndex();
var header = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues();
var dateCol = headers[0].indexOf("Tanggal") + 1;
var orderCol = headers[0].indexOf("Pesanan") + 1;
if (dateCol > 0 && rowIndex > 1 && editColumn == orderCol)
{
sheet.getRange(rowIndex, dateCol).setValue(Tanggal baru());
}
}
}

Silakan dicoba, semoga bisa membantu Anda!
Komentar ini diminimalkan oleh moderator di situs
Anda cukup menambahkan jj:mm:dd setelah tanggal pada baris 14 kode (disalin di bawah). Catatan: Saya harus mengubah UTC+8 menjadi GMT-5 agar dapat menandai waktu yang tepat untuk US Eastern.

sheet.getRange(rowIndex, dateCol).setValue(Utilities.formatDate(Tanggal baru(), "GMT-5", "MM-dd-yyyy jj:mm:ss"));
Komentar ini diminimalkan oleh moderator di situs
Terima kasih, ini berhasil
Komentar ini diminimalkan oleh moderator di situs
Hi

Bisakah Anda menolong saya? Saya perlu menampilkan waktu Amerika Tengah, saya telah mengubah zona waktu ke GTM-6 tetapi tidak berhasil, masih menunjukkan waktu Pasifik, (6 jam terpisah)

Salam
Komentar ini diminimalkan oleh moderator di situs
Hai, yang di sana,


Saya ingin melakukan yang setara dengan mendapatkan cap waktu di kolom "tanggal" setiap kali "Pesanan" diperbarui, tetapi juga setiap kali "Status Pengiriman" atau "Status Pembayaran" diperbarui juga (membuat judul kolom tetapi saya harap Anda mengerti maksud saya).

Apakah ini mungkin?


Terima kasih
Komentar ini diminimalkan oleh moderator di situs
Saya mendapatkan kesalahan "TypeError: Cannot read property "source" from undefined. (baris 3, file "Kode"). Apakah saya harus memberikan tautan lembar di baris ini?


Terima kasih,


Ryan
Komentar ini diminimalkan oleh moderator di situs
Ya, sama. Admin, mohon bantuannya.
Komentar ini diminimalkan oleh moderator di situs
Gunakan fungsi var sheet = SpreadsheetApp.getActiveSheet();
sebagai gantinya var sheet = e.source.getActiveSheet(); di Baris 3.
Ini memecahkan masalah saya.
Saya menggunakannya seperti ini
f
{
var sheet = SpreadsheetApp.getActiveSheet();
if (sheet.getName() == "Sheet1") //"Sheet1" adalah nama sheet bukan Nama file
{
var actRng = sheet.getActiveRange();
var editColumn = actRng.getColumn();
var barisIndex = actRng.getRowIndex();
var header = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues();
var dateCol = headers[0].indexOf("Stempel Waktu") + 1;
var orderCol = headers[0].indexOf("Entri Tanggal") + 1;
if (dateCol > 0 && rowIndex > 1 && editColumn == orderCol)
{
sheet.getRange(rowIndex, dateCol).setValue(Utilities.formatDate(Tanggal baru(), "UTC+5.30", "MM-dd-yyyy HH:MM:SS")); //Saya menggunakannya di India GMT 5.30+ dengan Waktu juga
}
}
}
Komentar ini diminimalkan oleh moderator di situs
Terima kasih untuk kode ini, itulah yang saya butuhkan. Satu-satunya masalah adalah saya menjalankan skrip yang mengirimkan beberapa data ke lembar google, tetapi cap waktu tidak memicu data ini, hanya ketika saya mengedit sel secara manual. Ada saran?
Komentar ini diminimalkan oleh moderator di situs
halo, saya memiliki masalah yang sama, apakah Anda menyelesaikannya?
Komentar ini diminimalkan oleh moderator di situs
halo saya memiliki masalah yang sama, apakah Anda menyelesaikannya?
Komentar ini diminimalkan oleh moderator di situs
Hai, saya menghadapi kesalahan TypeError: Cannot read property "source" from undefined. (baris 3, file "Kode")
Dapat membantu dalam hal ini
Komentar ini diminimalkan oleh moderator di situs
Sama disini. Tolong bantu.
Komentar ini diminimalkan oleh moderator di situs
masalah yang sama di sini
Komentar ini diminimalkan oleh moderator di situs
Hi
Saya mendapatkan kode yang berfungsi, terima kasih!
Jika saya ingin menyertakan beberapa kolom, bagaimana cara mengubah kode?
Komentar ini diminimalkan oleh moderator di situs
Saya mencoba melakukan hal yang sama, adakah yang berhasil menemukan ini?
Komentar ini diminimalkan oleh moderator di situs
Hai! Saya mendapatkan kode ini "Hilang } setelah badan fungsi. (baris 18, file "Kode")" Bagaimana cara memperbaiki masalah ini? Terima kasih banyak! Ini luar biasa!
Komentar ini diminimalkan oleh moderator di situs
Bagaimana seharusnya skrip dimodifikasi untuk mencari perubahan dalam rentang kolom yang berdekatan daripada satu kolom? misalnya memicu skrip jika ada perubahan pada kolom berlabel, "Jumlah", "Kategori" dan "Jenis" daripada kolom tunggal berlabel "Pesanan" dalam skrip contoh.
Komentar ini diminimalkan oleh moderator di situs
Selamat siang! Saya hanya ingin tahu apakah mungkin menambahkan kode agar stempel waktu menghilang secara otomatis setelah sel utama dihapus. Terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Halo, hice los pasos que mencionas pero me aparece un error: TypeError: No se puede leer la propiedad "source" de undefined. (Línea 3, arsip "Código")
Komentar ini diminimalkan oleh moderator di situs
Saya memperbaikinya dengan kode ini.


fungsi padaEdit() {
var sheet = SpreadsheetApp.getActiveSheet();
var tangkap = sheet.getActiveCell();
if (sheet.getName() == "Updates") //"Updates" adalah nama sheet.
jika(tangkap.getColumn() == 1 ) {
var add = capture.offset(0, 1); //"0" adalah baris referensi sel yang diperbarui, ''0'' baris yang sama, referensi "1" pada kolom "1" adalah 1 kolom di sebelah kanan.
var data = Tanggal baru();
data = Utilities.formatDate(data, "GMT-03:00",,"dd/MM' 'HH:mm' '");
tambahkan.setValue(data);
}

}
Komentar ini diminimalkan oleh moderator di situs
Hai Fabricio!

Pada 1 saya harus menulis kolom Tanggal (di mana saya ingin mendapatkan tanggal) dan pada kolom 0 tempat saya menulis teks?
Apakah saya perlu "" atau serupa?

Terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Halo Jorge, tidak, Anda hanya perlu menulis nomor referente ke kolom, seperti A = 1 , B = 2 .....
Komentar ini diminimalkan oleh moderator di situs
Luar biasa! Terima kasih
Komentar ini diminimalkan oleh moderator di situs
Ramah, excelente, es lo que estaba buscando, muchas gracias, saludos
Komentar ini diminimalkan oleh moderator di situs
Adakah cara untuk membuat ini tetapi apakah fecha yang diperkenalkan hanya jika Anda menulis kata-kata khusus?
Komentar ini diminimalkan oleh moderator di situs
Bagaimana Anda melacak perubahan pada lebih dari satu kolom? Menggunakan contoh Anda, bagaimana Anda mengedit skrip untuk melacak perubahan di kolom "produk" dan "pesanan"?
Komentar ini diminimalkan oleh moderator di situs
dapatkah kita mengubah ini untuk melacak perubahan pada rentang kolom tertentu, bukan kolom? dengan asumsi bahwa kolom kami yang akan dilacak berada di tengah lembar kami?
Belum ada komentar yang diposting di sini
Muat Lebih
Tinggalkan komentar anda
Posting sebagai Tamu
×
Beri peringkat pos ini:
0   Karakter
Lokasi yang Disarankan