Yo uso PSPad como editor de texto, que le permite presionar Alt+ Dpara insertar una marca de tiempo, por ejemplo:
2010-07-17 23:45:44
¿Hay alguna manera de hacer esto en una hoja de cálculo de Google?
Yo uso PSPad como editor de texto, que le permite presionar Alt+ Dpara insertar una marca de tiempo, por ejemplo:
2010-07-17 23:45:44
¿Hay alguna manera de hacer esto en una hoja de cálculo de Google?
Respuestas:
Yo uso AutoHotKey para realizar esta función.
AutoHotKey es una aplicación y un lenguaje de secuencias de comandos de Windows.
El código que uso está debajo, sería fácilmente modificable insertar el tiempo y cambiar las barras a guiones si eso es lo que prefieres.
+!d:: ;Shift-Alt-D: Insert current date
SendInput %A_DD%/%A_MM%/%A_YYYY%
return
Google Sheets admite los siguientes métodos abreviados de teclado:
Ctrl+ Shift+ :es la pulsación de tecla para insertar el tiempo.
Ctrl+ ;es la combinación de teclas para insertar la fecha.
Ctrl+ Alt+ Shift+ :es la combinación de teclas para insertar la fecha y la hora.
Vea Aceleradores de teclado, mnemónicos y atajos para más detalles.
Creé un pequeño script que convierte el literal de cadena "_now" a la fecha y hora actual:
function onEdit(e) {
if (e.range.getValue() == "_now") {
e.range.setValue(new Date());
}
}
Me resulta bastante útil escribir _now
y convertirlo al valor actual de fecha y hora.
Consulte https://developers.google.com/apps-script/quickstart/macros y https://developers.google.com/apps-script/understanding_events para obtener más información sobre cómo agregar esto a su hoja de cálculo de Google
Puede poner un marcador con esta ubicación:
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);
luego edite la celda y haga clic en el marcador.
=today()
en una celda para obtener la fecha actual.La fórmula para la fecha y hora actual es =now()
. Esto se puede usar para crear una marca de tiempo estática de la siguiente manera:
=NOW()
en una celdaGoogle Sheets no lo admite, pero puede probar otra solución alternativa sin aplicaciones externas:
(Si está en una MacOS, use en Cmdlugar de Ctrlfor Copy/Cut/Paste
, pero Ctrl+ Mpara insertar el comentario, porque Cmd+ Mminimiza la ventana).
También creé un script para esto, y quería un formato que no esté disponible en las marcas de tiempo predeterminadas (como en =TODAY()
o =NOW()
).
También toma la zona horaria en función de la sesión actual (que se establece en las preferencias de la hoja).
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;
}
Usarlo es fácil:
=_NOW()
Para aclarar: hice el formato de fecha manualmente porque el formato de fecha personalizado en Hojas de cálculo de Google es un montón de basura en llamas (no hay forma de establecer un formato personalizado como predeterminado, no hay forma de cambiar el orden de los elementos de fecha / hora sin eliminar todo primero y agregando cada parte a la vez).
Puede consultar este tutorial , también contiene video. En el código del script, cambie
var timestamp_format = "MM-dd-yyyy"; // Timestamp Format.
Por defecto solo le da la fecha, cambie al código a continuación para obtener tiempo.
var timestamp_format = "MM-dd-yyyy hh:mm:ss"; // Timestamp Format.
Es esto lo que estás buscando ? Lo probé y funciona perfectamente.
Tanguay, acabo de probar esto =IF(A2<>"",NOW(),"")
. Si A2 tiene un valor, entonces ingresa la marca de tiempo. Si A2 está vacío, la marca de tiempo no se ingresa en la columna de marca de tiempo.
=if(len(A2)>0;if(B2<>"";B2;now());"")
En Configuración, cambie la solución del circuito a 1, y funcionará sin JavaScript