Saya menggunakan PSPad sebagai editor teks, yang memungkinkan Anda untuk menekan Alt+ Duntuk memasukkan stempel waktu, misalnya:
2010-07-17 23:45:44
Apakah ada cara untuk melakukan ini di Google Spreadsheet?
Saya menggunakan PSPad sebagai editor teks, yang memungkinkan Anda untuk menekan Alt+ Duntuk memasukkan stempel waktu, misalnya:
2010-07-17 23:45:44
Apakah ada cara untuk melakukan ini di Google Spreadsheet?
Jawaban:
Saya menggunakan Autohotkey untuk melakukan fungsi ini.
AutoHotKey adalah aplikasi dan bahasa scripting Windows.
Kode yang saya gunakan di bawah ini, akan mudah dimodifikasi untuk memasukkan waktu dan mengubah garis miring menjadi tanda hubung jika itu yang Anda inginkan.
+!d:: ;Shift-Alt-D: Insert current date
SendInput %A_DD%/%A_MM%/%A_YYYY%
return
Google Sheets mendukung pintasan keyboard berikut:
Ctrl+ Shift+ :adalah penekanan tombol untuk memasukkan waktu.
Ctrl+ ;adalah penekanan tombol untuk memasukkan tanggal.
Ctrl+ Alt+ Shift+ :adalah penekanan tombol untuk memasukkan tanggal dan waktu.
Lihat Akselerator keyboard, mnemonik, dan pintasan untuk detail lebih lanjut.
Saya membuat skrip kecil yang mengubah string literal "_now" menjadi datetime saat ini -
function onEdit(e) {
if (e.range.getValue() == "_now") {
e.range.setValue(new Date());
}
}
Saya merasa cukup mudah untuk mengetik _now
dan mengubahnya ke nilai datetime saat ini.
Lihat https://developers.google.com/apps-script/quickstart/macros dan https://developers.google.com/apps-script/understanding_events untuk info lebih lanjut tentang cara menambahkan ini ke Google Spreadsheet Anda
Anda dapat memasukkan bookmarklet dengan lokasi ini:
javascript:var thetime=new Date();var txtNode=document.createTextNode((thetime.getMonth()+1)+'/'+thetime.getDate()+'/'+thetime.getFullYear()+' '+thetime.getHours()+':'+thetime.getMinutes()+':'+thetime.getSeconds()); var myInputNode=document.getElementsByClassName('cell-input')[1]; if (myInputNode.hasChildNodes()) { myInputNode.replaceChild(txtNode, myInputNode.childNodes[0]); } else { myInputNode.appendChild(txtNode); }; void(0);
lalu edit sel dan klik bookmarklet.
=today()
ke dalam sel untuk mendapatkan tanggal saat ini.Rumus untuk saat tanggal-waktu =now()
. Ini dapat digunakan untuk membuat cap waktu statis sebagai berikut:
=NOW()
dalam selGoogle Sheets tidak mendukungnya, tetapi Anda dapat mencoba solusi lain tanpa aplikasi eksternal:
(Jika Anda menggunakan MacOS, gunakan Cmdbukan Ctrluntuk Copy/Cut/Paste
, tetapi Ctrl+ Muntuk menyisipkan komentar, karena Cmd+ Mmeminimalkan jendela.)
Saya juga membuat skrip untuk ini, dan saya ingin format yang tidak tersedia di cap waktu default (seperti dalam =TODAY()
atau =NOW()
).
Itu juga meraih zona waktu berdasarkan sesi saat ini (yang diatur dalam preferensi Sheet).
function _NOW(input)
{
// for formatting, see:
// https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
var timestamp_format = "yyyy-MM-dd hh:MM a"; // Timestamp Format eg: 2019-04-11 12:04 PM
var timezone = Session.getScriptTimeZone();
var date = Utilities.formatDate(new Date(), timezone, timestamp_format);
return date;
}
Menggunakannya mudah:
=_NOW()
Untuk memperjelas: Saya melakukan pemformatan tanggal secara manual karena pemformatan tanggal kustom di Google Sheets adalah tumpukan sampah yang menyala-nyala (tidak ada cara untuk mengatur format kustom sebagai default, tidak ada cara untuk mengubah urutan elemen tanggal / waktu tanpa menghapus semuanya) pertama dan menambahkan setiap bagian satu per satu).
Anda dapat merujuk tutorial ini , juga berisi video. Dalam kode skrip, ubah
var timestamp_format = "MM-dd-yyyy"; // Timestamp Format.
Secara default hanya memberi Anda tanggal, ubah kode di bawah ini untuk mendapatkan waktu.
var timestamp_format = "MM-dd-yyyy hh:mm:ss"; // Timestamp Format.
Apa ini yang kamu cari ? Saya mencobanya dan berfungsi dengan baik.
tanguay, saya baru saja menguji ini =IF(A2<>"",NOW(),"")
. Jika A2 memiliki nilai maka ia memasuki stempel waktu. Jika A2 kosong maka stempel waktu tidak dimasukkan di kolom stempel waktu.
=if(len(A2)>0;if(B2<>"";B2;now());"")
Di Pengaturan, ubah solusi rangkaian ke 1, dan itu akan berfungsi tanpa JavaScript