Wie kann ich verhindern, dass die Funktion JETZT automatisch aktualisiert wird?

8

Ich verwende die NOW()Funktion von Google Spreadsheet als Verknüpfung, um jetzt den aktuellen Zeitstempel einzufügen .

Der Wert in der Zelle ändert sich jedoch immer dann, wenn die Tabelle in irgendeiner Weise geändert wird, selbst wenn die Änderungen nichts mit dieser bestimmten Zelle zu tun haben.

Wie verhindern wir, dass der Wert in der Zelle automatisch aktualisiert wird?

Pacerier
quelle
1
Dies ist eine Lösung: webapps.stackexchange.com/a/44404/29140 . Vielleicht TODAY()ist das auch möglich?
Jacob Jan Tuinstra
@pnuts, Schön, das funktioniert. Sie könnten es als Antwort posten.
Pacerier

Antworten:

12

Versuchen Sie Shift+ Ctrl+ :und Ctrl+;

Dies sind die Tastenkombinationen für "Zeit einfügen" bzw. "Datum einfügen".

(basierend auf dem Kommentar von pnuts )

Ale
quelle
1
Einige Verknüpfungen, einschließlich Datums- und Zeitstempel, funktionieren bei einigen internationalen Tastaturlayouts für die Google-Editoren (Dokumente, Zeichnungen, Blätter, Folien) nicht. Es ist ein "bekanntes" Problem. Später werde ich einige Referenzen übergeben.
Rubén
Ich gehe davon aus, dass es wahrscheinlich lokalisierte Tastaturkürzel für andere Tastaturlayouts gibt.
Ale
Ich erwarte dasselbe, habe sie aber noch nicht gefunden.
Rubén
Funktioniert nicht unter Firefox Linux :-( Gibt es eine Möglichkeit, diese Funktion über Menüs zu erreichen? !! @ Rubén scheint, Sie haben die Referenzen vergessen
;-)
@PhilippeGachoud: Ja, ich habe sie vergessen, ich meine, ich erinnere mich nicht, über welche Referenzen ich vor drei Jahren gesprochen habe ...
Rubén
6

Dies ist ein alter Beitrag, aber ich habe mich kürzlich damit befasst und dachte, ich würde mich einschalten.

Abhängig von Ihren Anforderungen besteht die einfachste Antwort darin, ein Dropdown-Menü zu erstellen und auf eine Funktion in einer anderen Zelle zu verweisen.

Beispiel:

  1. Wählen Sie A10:A20> Rechtsklick> Datenüberprüfung
    • Kriterien = "Liste aus Bereich"> F2
  2. Formel in Zelle F2: =mult(now(),1)

Um eine Uhrzeit und ein Datum in eine datenvalidierte Zelle einzufügen ( A10:A20in diesem Beispiel), klicken Sie auf den Dropdown-Pfeil und dann auf die angegebene Uhrzeit. Dadurch werden Datum und Uhrzeit in das Feld eingegeben und nicht jedes Mal geändert, wenn die Tabelle aktualisiert wird. Wenn Sie die Formatierung der Zelle so ändern möchten, dass sie nur die Uhrzeit oder nur das Datum enthält, können Sie dies ganz einfach tun (gewünschte Zelle (n) auswählen> Format> Nummer> Format auswählen).

btodd
quelle
1
Ich habe diese Lösung nicht herausgefunden. Danke, dass du es geteilt hast. Es ist erwähnenswert, dass die Verwendung =NOW()in List from range auch auf der anderen Seite funktioniert. Es ist sehr wahrscheinlich, dass auch andere nicht deterministische Funktionen wie TODAY (), RAND () und RANDBETWEEN verwendet werden könnten.
Rubén
1

Die Dokumentation sagt dies:

Neuberechnung der NOW-Funktion und des Arbeitsblatts Die NOW () -Funktion gehört zur Gruppe der flüchtigen Funktionen von Google Sheet, die standardmäßig jedes Mal neu berechnet oder aktualisiert werden, wenn sich das Arbeitsblatt, in dem sie sich befinden, neu berechnet.

Beispielsweise werden Arbeitsblätter jedes Mal neu berechnet, wenn sie geöffnet werden oder wenn bestimmte Ereignisse auftreten, z. B. wenn Daten in das Arbeitsblatt eingegeben oder geändert werden. Wenn also Datum oder Uhrzeit mit der Funktion NOW () eingegeben werden, wird die Aktualisierung fortgesetzt.

Die Tabellenkalkulationseinstellungen, die sich in Google Sheets im Menü Datei befinden, bieten zwei zusätzliche Einstellungen für die Neuberechnung eines Arbeitsblatts:

Bei Wechsel und jede Minute Bei Wechsel und jede Stunde Es gibt keine Option innerhalb des Programms, um die Neuberechnung flüchtiger Funktionen auszuschalten.

Datums- und Uhrzeitangaben beibehalten Wenn sich Datum und Uhrzeit nicht ständig ändern möchten, verwenden Sie eine Verknüpfungsoption zur Eingabe statischer Datums- und Uhrzeitangaben. Geben Sie Datum oder Uhrzeit manuell ein oder geben Sie sie über die folgenden Tastenkombinationen ein:

Die statische Datumsverknüpfung lautet Strg +; (Semikolon-Taste) Die statische Zeitverknüpfung lautet Strg + Umschalt +: (Doppelpunkt-Taste)

aber ich würde in Betracht ziehen, die Funktion TIMESTAMPeinfach so zu verwenden:

=TIMESTAMP()

Dies würde Ihnen statische Datums- und Uhrzeitangaben wie folgt geben

8-15-2019 16:53:52

Es gibt aber keine Funktion wie TIMESTAMP(). Sie können dies einfach hinzufügen: Gehen Sie zu tools> Script Editor und fügen Sie den folgenden Code ein

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;

}

Speichern Sie das Skript und Ihre Blätter können diese Funktion jetzt verwenden.

Rishabh Gusain
quelle
Herzlich willkommen. Benutzerdefinierte Funktionen werden jedes Mal neu berechnet, wenn eine Tabelle geöffnet wird und wenn sich ihre Argumente ändern. Übrigens ist eine einfache Versionfunction TIMESTAMP(){ return new Date()}
Rubén
Gibt es keine andere Möglichkeit, als es manuell einzufügen?
Rishabh Gusain
1

Eine andere Möglichkeit besteht darin, den Wert der Zelle zu kopieren und in dieselbe Zelle einzufügen, jedoch nur mit einer speziellen Einfügeoption.

  • Eingabe =NOW()in eine Zelle.
  • Kopiere es Ctrl+C
  • In dieselbe Zelle einfügen Ctrl+Shift+V
47tucanae
quelle
Dies
0

Eine weitere Option (eine Erweiterung dieser Antwort ... "Beispiel: 1. Wählen Sie A10: A20> Rechtsklick> Datenvalidierungskriterien =" Liste aus Bereich "> F2. 2. Formel in Zelle F2: = mult (now (), 1 ) ")

Es sollen zwei Zellen erstellt werden, eine mit einem Kontrollkästchen (A3) und eine daneben (B3) mit der Validierung "Liste aus Bereich".

Wenn Sie dies tun, wird die Formel in Zelle F2 jedes Mal aktualisiert, wenn Sie das Kästchen in A3 ankreuzen, sodass die Dropdown-Liste in B3 eine Datenüberprüfung mit der aktuellen Zeit enthält, die Sie dann auswählen. Sofern Sie diese Dropdown-Liste nicht zu einem späteren Zeitpunkt erneut auswählen, ändert sich der Inhalt von B3 nicht.

Ich plane, dies zu verwenden, um eine "Anwesenheitsliste" mit der Zeit zu markieren, zu der jeder Teilnehmer zu einer Besprechung erschienen ist. Dies ist viel besser als meine derzeitige Methode, bei der die "Jetzt" -Formel in eine Zelle (z. B. B3) eingefügt wird, die ausgelöst wird, wenn das Kontrollkästchen daneben (z. B. A3) aktiviert ist, und dann ein Makro ausgeführt wird, um die Zeit zu konvertieren Jeder Teilnehmer hat sich von einer dynamischen Formel zu Text gewandelt (es ändert sich also nicht zum neuen "Jetzt", wenn sich die "aktuelle Zeit" ändert.

user235027
quelle
0

Ich habe versucht, die Funktion timestamp () mit dem obigen Skript zu erstellen, aber sie wird für mich immer noch genauso aktualisiert wie Now (). Ich denke, die einzige zuverlässige Option ist der Tastenanschlag.

Rachel
quelle
-1

Automatische Neuberechnungen flüchtiger Funktionen wie =NOW() =TODAY() =RAND() =RANDBETWEEN()in der Google-Tabelle können eingefroren werden ( für 30 Minuten ).

Hier ist ein kleines Beispiel für die Generierung von zwei "eingefrorenen" Schlüsseln, die RANDBETWEEN implementieren :

  1. Erstellen Sie eine neue Tabelle und nennen Sie sie " KEY1 ".
  2. Werte für Bereich A1: P1 einstellen wie:Geben Sie hier die Bildbeschreibung ein
  3. Fügen Sie dies in Zelle A3 ein :

    =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. Erstellen Sie eine Kopie / ein Duplikat der gesamten Tabelle und nennen Sie sie " KEY2 ".

  5. Erstellen Sie eine neue (3.) Tabelle und nennen Sie sie " ALL_KEYS ".

  6. Aktivieren Sie die Freigabe für alle 3 Tabellenkalkulationen und wählen Sie in den erweiterten Optionen " Bearbeiten " (beachten Sie, dass bei Nichtbeachtung dieses Schritts alle zu einem # REF- Fehler führen, da diese Tabellenkalkulationen miteinander verknüpft werden müssen).

  7. Stellen Sie in dieser dritten Tabelle die Zellen A1 und A2 wie folgt ein:

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

  8. Erstellen Sie eine neue ( 4. ) Tabelle und benennen Sie sie nach Ihren Wünschen (und aktivieren Sie auch die Freigabe).

  9. Fügen Sie jede Formel in eine beliebige Zelle (oder sogar eine beliebige Registerkarte in der gesamten Tabelle) ein. Beispiel:

    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. Klicken Sie mit der rechten Maustaste auf Zelle C3 und wählen Sie " Datenüberprüfung ... ". Wählen Sie dann als Kriterien " Kontrollkästchen " und aktivieren Sie " Benutzerdefinierte Zellenwerte verwenden". dann als TRUE-Eingangsnummer 1 und als FALSE-Eingangsnummer 0

  11. Machen Sie dasselbe für die C4- Zelle (dies funktioniert eher als Ein / Ein-Schalter als als Ein / Aus).

  12. Gehen Sie nun zu den Tabellen " KEY1 " und " KEY2 " und fügen Sie diese in beide in die A2- Zelle ein:

    "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. Schließen Sie die Tabellen " KEY1 ", " KEY2 " und " ALL_KEYS " und öffnen Sie sie nie wieder

  14. erledigt! Bonus Schritt: um sicherzustellen , dass diese beiden zufällig generierten Schlüssel sind einzigartig Sie wachsam wie hinzufügen können =IF($A$1<>$A$2;"unique";"reload")in „ ALL_KEYS “ Kalkulationstabelle, und dann importieren in der 4. Tabelle wie=IMPORTRANGE("paste-here-whole-url-of-ALL_KEYS-spreadsheet"; "Sheet1!a10")

ZUSAMMENFASSUNG: Wenn Sie jetzt Ihren "Schalter" aktivieren / deaktivieren, wird ein zufälliger neuer Schlüssel für Sie generiert, der bis zum nächsten Drücken des Schalters dort bleibt (nicht einmal das erneute Laden der Browser-Registerkarte ändert diese zufällig generierten Schlüssel). Wie Sie sehen können, gibt es einen leichten Versatz von key1 in " KEY1 " und key1 in " ALL_KEYS " & " 4th ", aber das verdient sowieso nichts ...

user0
quelle