Existe-t-il un moyen de créer un horodatage dans une feuille de calcul Google?

31

J'utilise PSPad comme éditeur de texte, ce qui vous permet d'appuyer sur Alt+ Dpour insérer un horodatage, par exemple:

2010-07-17 23:45:44

Existe-t-il un moyen de le faire dans une feuille de calcul Google?

Edward Tanguay
la source
4
Cela serait utile pour utiliser un document Google comme un journal d'ingénierie. +1.
Thomas Owens
1
oui, j'utilise google docs comme sources de données externes pour les sites Web et j'aimerais pouvoir horodater pour cette raison
Edward Tanguay
1
@EdwardTanguay si vous passez par hasard .. vous devriez changer la bonne réponse à la plus votée :)
Lipis
1
Les lecteurs sont invités à utiliser la meilleure réponse , même si elle n'est pas actuellement au top.

Réponses:

8

J'utilise AutoHotKey pour exécuter cette fonction.

AutoHotKey est une application et un langage de script Windows.

Le code que j'utilise est ci-dessous, il serait facilement modifiable d'insérer l'heure et de changer les barres obliques en traits d'union si c'est ce que vous préférez.

+!d:: ;Shift-Alt-D: Insert current date
SendInput %A_DD%/%A_MM%/%A_YYYY%
return
Être annoncé
la source
oui, autohotkey est mon ami, bizarre je l'ai oublié pour ça, j'ai utilisé% A_YYYY% -% A_MM% -% A_DD%% A_Hour%:% A_Min%:% A_Sec% et ça fonctionne parfaitement, merci!
Edward Tanguay
Pas de soucis, content de vous l'avoir rappelé :)
annoncé le
39

Google Sheets prend en charge les raccourcis clavier suivants:

  • Ctrl+ Shift+ :est la frappe pour insérer l'heure.

  • Ctrl+ ;est la frappe pour insérer la date.

  • Ctrl+ Alt+ Shift+ :est la frappe pour insérer la date et l'heure.

Voir Accélérateurs de clavier, mnémoniques et raccourcis pour plus de détails.

Danniogirl
la source
4
Ceci est similaire à Microsoft Excel, cependant, contrairement à Excel, vous ne semblez pas pouvoir suivre un raccourci avec un autre afin de produire un horodatage complet. Le raccourci dans Google Docs ne semble fonctionner que lorsque la cellule entière est sélectionnée, pas lors de sa modification, vous ne pouvez donc obtenir que la date OU l'heure avec cette méthode, pas les deux.
MrWhite
3
Agréable! Notez que cela ne fonctionne que pour les feuilles de calcul, pas pour les documents.
jimmyorr
1
@ Rubén Maintenant, il y en a un pour les deux! (h / t kolen et Cameron Crest )
Ne fonctionne pas sur Firefox Linux :-( est-il possible d'obtenir cette fonction via les menus ?? !!
Philippe Gachoud
13

J'ai créé un petit script qui convertit le littéral de chaîne "_now" en datetime actuel -


function onEdit(e) {
  if (e.range.getValue() == "_now") {
    e.range.setValue(new Date());
  }
}

Je trouve assez pratique de taper _nowet de le convertir en valeur datetime actuelle.

Voir https://developers.google.com/apps-script/quickstart/macros et https://developers.google.com/apps-script/understanding_events pour plus d'informations sur la façon d'ajouter ceci à votre feuille de calcul Google

0cd
la source
1
Power to Google Apps Script
Jacob Jan Tuinstra
4
Celui-ci devrait être la réponse si vous envisagez sur toutes les plates-formes, pas seulement pour Windows.
Robert
@ Robert, est -ce pas webapps.stackexchange.com/a/24692/10579~~V~~singular~~3rd une meilleure réponse?
Pacerier
@Pacerier Je ne pense pas, car ces raccourcis ne font qu'ajouter la date ou l'heure. Pas la date / l'heure demandée par le PO. Lisez les commentaires faits sur le lien que vous avez fourni.
Jacob Jan Tuinstra
Le formatage des horodatages créés avec ce script est traité ici .
7

Vous pouvez mettre un bookmarklet avec cet emplacement:

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);

puis modifiez la cellule et cliquez sur le bookmarklet.

Ben Johnson
la source
Comment mettez-vous un bookmarklet?
Ruby
Ruby - vous pouvez faire glisser le bouton que j'ai créé ici vers votre barre de favoris.
SelfPublish.org
2
  1. Dans une cellule voisine, ou dans un volet figé, entrez =today()dans une cellule pour obtenir la date actuelle.
  2. Copiez la cellule, puis utilisez (Collage spécial → Coller les valeurs uniquement) dans le menu Edition pour obtenir une date et une heure statiques, au moment où vous avez collé la valeur dans la cellule que vous vouliez tamponner.
Tristan Parlette
la source
De manière équivalente, utilisez Ctrl-C suivi de Ctrl-Maj-V (sans atteindre le menu). La même approche peut être utilisée avec =now()pour obtenir à la fois la date et l' heure dans la même cellule: c'est sans doute le moyen le plus simple de le faire sans script.
2

La formule pour la date-heure actuelle est =now(). Cela peut être utilisé pour créer un horodatage statique comme suit:

  1. Entrez =NOW()dans une cellule
  2. Copiez cette valeur avec CtrlC
  3. Coller dans la même cellule avec CtrlShiftV (ou équivalents pour "coller du texte uniquement" sur d'autres plateformes)
Jennifer
la source
2
Ce n'est pas un horodatage, n'est-ce pas? Cela montre simplement la date / heure actuelle d'ouverture de la feuille de calcul, non?
ale
1

Google Sheets ne le prend pas en charge, mais vous pouvez essayer une autre solution de contournement sans applications externes:

  1. Insérer un commentaire ( Ctrl+ M)
  2. Copiez le TimeStamp à partir de là ( Ctrl+ Cou Ctrl+ X)
  3. Supprimer le commentaire (clic droit> Supprimer)
  4. Collez le TimeStamp ( Ctrl+ V)

(Si vous êtes sous MacOS, utilisez Cmdplutôt que Ctrlfor Copy/Cut/Paste, mais Ctrl+ Mpour insérer le commentaire, car Cmd+ Mminimise la fenêtre.)

Lipis
la source
1

J'ai également créé un script pour cela, et je voulais un format qui n'est pas disponible dans les horodatages par défaut (comme dans =TODAY()ou =NOW()).

Il saisit également le fuseau horaire en fonction de la session en cours (qui est définie dans les préférences de la feuille).

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;
}

Son utilisation est simple:

=_NOW()

Pour clarifier: j'ai fait le formatage de la date manuellement parce que le formatage de la date personnalisé dans Google Sheets est une pile de poubelles enflammées (aucun moyen de définir un format personnalisé par défaut, aucun moyen de modifier l'ordre des éléments de date / heure sans tout supprimer et en ajoutant chaque partie à la fois).

Kyle Falconer
la source
Cela a fini par être en même temps pour chaque appel
DNHE
@nhed chaque fois que ce script est appelé (comme lorsque vous ouvrez la feuille de calcul), il renverra la date actuelle dans ce format sous forme de chaîne. Si vous souhaitez un horodatage permanent, jamais mis à jour, vous pouvez le placer dans une cellule et copier la valeur de cette cellule, puis la coller où vous le souhaitez.
Kyle Falconer
J'ai ajouté le script sur mon navigateur de bureau et la feuille de calcul était déjà ouverte sur mon téléphone ... il produisait toujours sur mon téléphone le même horodatage que sur mon bureau ... nécessitant que je ferme et rouvre pour ajouter un point de données ne semble pas pratique ... J'ai combiné votre mise en forme avec une fonction différente ci-dessus pour obtenir quelque chose qui a fonctionné pour moi
nhed
0

Vous pouvez consulter ce tutoriel , il contient aussi de la vidéo. Dans le code du script, changez

var timestamp_format = "MM-dd-yyyy"; // Timestamp Format.

Par défaut, il ne vous donne que la date, passez au code ci-dessous pour obtenir l'heure.

var timestamp_format = "MM-dd-yyyy hh:mm:ss"; // Timestamp Format.

Est-ce ce que vous recherchez ? Je l'ai essayé et cela fonctionne parfaitement.

Arpan
la source
0

tanguay, je viens de tester cela =IF(A2<>"",NOW(),""). Si A2 a une valeur, il entre dans l'horodatage. Si A2 est vide, l'horodatage n'est pas entré dans la colonne d'horodatage.

Howard Riminton
la source
-1

=if(len(A2)>0;if(B2<>"";B2;now());"")

Dans Paramètres, changez la solution du circuit à 1, et cela fonctionnera sans JavaScript

Vratislav Novák
la source