web-dev-qa-db-fra.com

Comment arrêter la fonction NOW de mise à jour automatique?

J'utilise la fonction NOW() de Google Spreadsheet en tant que raccourci pour insérer l'horodatage actuel maintenant .

Cependant, la valeur dans la cellule change chaque fois que la feuille de calcul est modifiée, même si les modifications n'ont rien à voir avec cette cellule particulière.

Comment empêcher la mise à jour automatique de la valeur dans la cellule?

7
Pacerier

Essayer Shift+Ctrl+: et Ctrl+;

Ce sont les raccourcis clavier pour "insérer le temps" et "insérer la date" respectivement.

(basé sur commentaire de pnuts )

11
ale

Ceci est un ancien post, mais je me suis récemment penché sur la question et me suis dit.

En fonction de vos besoins, la réponse la plus simple à laquelle je puisse penser est de créer un menu déroulant et de référencer une fonction sur une autre cellule.

Exemple:

  1. Sélectionnez A10:A20> clic droit> Validation des données
    • Critères = "Liste de la plage"> F2
  2. Formule dans la cellule F2: =mult(now(),1)

Pour insérer une heure et une date dans une cellule de données validée (A10:A20 dans cet exemple), cliquez sur la flèche déroulante et cliquez sur l'heure indiquée. Cela entrera la date et l'heure dans le champ et ne le changera pas chaque fois que la feuille de calcul est mise à jour. Si vous souhaitez que le formatage de la cellule soit uniquement à l'heure ou à la date, vous pouvez le faire facilement (sélectionnez la ou les cellules souhaitées> Format> Numéro> sélectionnez le format).

5
btodd

La documentation dit ceci:

Recalcul de la fonction NOW et de la feuille de calcul La fonction NOW () fait partie du groupe de fonctions volatiles de Google Sheet qui, par défaut, recalculent ou mettent à jour chaque fois que la feuille de calcul dans laquelle elles se trouvent est recalculée.

Par exemple, les feuilles de calcul sont recalculées chaque fois qu'elles sont ouvertes ou lorsque certains événements se produisent (par exemple, lorsque des données sont entrées ou modifiées dans la feuille de calcul). Ainsi, si la date ou l'heure sont entrées à l'aide de la fonction NOW (), la mise à jour continue.

Les paramètres de la feuille de calcul, situés dans le menu Fichier de Google Sheets, offrent deux paramètres supplémentaires pour le recalcul d'une feuille de calcul:

Changement et toutes les minutes Changement et toutes les heures Aucune option du programme ne permet de désactiver le recalcul des fonctions volatiles.

Conserver des dates et des heures statiques Si vous ne souhaitez pas modifier continuellement la date ou l'heure, utilisez une option de raccourci pour saisir des dates et heures statiques. Pour ce faire, incluez manuellement la date ou l'heure ou saisissez-les à l'aide des raccourcis clavier suivants:

Le raccourci de date statique est Ctrl +; (touche point-virgule) Le raccourci temps statique est Ctrl + Maj +: (touche deux-points)

mais je considérerais d'utiliser la fonction TIMESTAMP comme ceci:

=TIMESTAMP()

Cela vous donnerait l'heure de la date statique comme suit

8-15-2019 16:53:52

Mais il n'y a pas de fonction telle que TIMESTAMP(). Vous pouvez facilement ajouter ceci: Allez à outils> Editeur de script et collez le code suivant

function TIMESTAMP() {

  var today = new Date();
  var date = (today.getMonth()+1)+'-'+today.getDate()+'-'+today.getFullYear();
  var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
  var dateTime = date+' '+time;
  return dateTime;

}

Enregistrez le script et vos feuilles sont maintenant prêtes à utiliser cette fonction.

1
Rishabh Gusain

les recalculs automatiques de fonctions volatiles telles que =NOW() =TODAY() =Rand() =RANDBETWEEN() dans le tableur Google peuvent être gelés ( pendant 30 minutes )

voici un petit exemple pour générer deux clés "figées" implémentant RANDBETWEEN:

  1. créez une nouvelle feuille de calcul et nommez-la " KEY1 "
  2. définir des valeurs pour la plage A1: P1 comme: enter image description here
  3. insérez ceci dans la cellule A3 :

    =index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))& index($A$1:$P$1;RANDBETWEEN(1;counta($A$1:$P$1)))

  4. créer une copie/copie de la feuille de calcul entière et nommez-la " KEY2 "

  5. créer une nouvelle (troisième) feuille de calcul et nommez-la " ALL_KEYS "

  6. activez le partage pour les 3 feuilles de calcul et, dans les options avancées, sélectionnez " Pouvez éditer " (veuillez noter que si vous ne le faites pas, tout cela donnera # Erreur REF car ces feuilles de calcul doivent être liées les unes aux autres)

  7. dans cette 3ème cellule de la feuille de calcul A1 et A2 comme suit:

    =IMPORTRANGE("paste-here-whole-url-of-KEY1-spreadsheet";"Sheet1!$A$3") =IMPORTRANGE("paste-here-whole-url-of-KEY2-spreadsheet";"Sheet1!$A$3")

  8. créer une nouvelle ( 4ème ) feuille de calcul et nommez-la comme vous le souhaitez (et activez également le partage)

  9. insérez chaque formule dans n'importe quelle cellule (ou même dans n'importe quel onglet Feuille d'un classeur entier), par exemple:

    D3 =IMPORTRANGE("paste-here-whole-url-of-ALL_KEYS-spreadsheet";"Sheet1!$A$1") D4 =IMPORTRANGE("paste-here-whole-url-of-ALL_KEYS-spreadsheet";"Sheet1!$A$2")

  10. faites un clic droit sur la cellule C3 et sélectionnez " Validation des données ... " puis comme Critères sélectionnez " Case à cocher " et cochez la case "Utiliser des valeurs de cellule personnalisées". puis comme numéro d'entrée VRAI 1 et comme numéro d'entrée FAUX 0

  11. faire de même pour la cellule C4 (elle fonctionnera comme un commutateur marche/arrêt plutôt que comme marche/arrêt)

  12. maintenant aller aux feuilles de calcul " KEY1 " et " KEY2 ", et dans les deux insèrent ceci dans la cellule A2 :

    "KEY1" -> A2 =IMPORTRANGE("paste-here-whole-url-of-4th-spreadsheet";"Sheet1!$C$3") "KEY2" -> A2 =IMPORTRANGE("paste-here-whole-url-of-4th-spreadsheet";"Sheet1!$C$4")

  13. fermer les feuilles de calcul " KEY1 ", " KEY2 " & " ALL_KEYS "et ne les rouvrez jamais

  14. terminé! Étape de bonus: pour vous assurer que ces deux clés générées de manière aléatoire sont uniques, vous pouvez ajouter une alerte telle que =IF($A$1<>$A$2;"unique";"reload") dans " ALL_KEYS ", puis importez-la dans 4ème feuille de calcul comme =IMPORTRANGE("paste-here-whole-url-of-ALL_KEYS-spreadsheet"; "Sheet1!a10")

SUM: maintenant chaque fois que vous activez/désactivez votre "commutateur", il générera une clé fraîche aléatoire qui restera là jusqu'à la prochaine pression sur le commutateur (non même RELOAD de l’onglet du navigateur changera ces clés générées aléatoirement). comme vous pouvez le constater, il existe un léger décalage key1 dans " KEY1 " et key1 dans " ALL_KEYS " & " 4ème ", mais cela ne mérite de toute façon pas ...

0
user0