2014-04-20 2 views
14

Es wurden einige Codes für diesen Zweck geschrieben, aber mit den neuen Add-ons sind sie nicht mehr anwendbar.Erzwingen, dass neue Google Spreadsheets aktualisiert und neu berechnet werden?

Vielen Dank im Voraus, Iddo

+1

Hat Strg + R nicht für Sie arbeiten? – pnuts

+0

Nicht wirklich, ich meinte aktualisieren und automatisch rekalieren – iddo

+0

Rubén Antwort von http://stackoverflow.com/questions/38127603/force-google-sheet-formula-to-recalculate hat mir geholfen –

Antwort

24

Datei -> Tabelleneinstellungen -> (Tab) Berechnung -> Nachrechnung (3 Optionen)
- Bei Änderung
- Wandel und jede Minute
- bei Änderung und jede Stunde
Dies beeinflusst, wie oft JETZT, HEUTE, RAND und RANDBETWEEN aktualisiert werden.

aber .. .. aktualisiert es nur, wenn die Funktionen Argumente (ihre Bereiche, Zellen) davon betroffen sind.

aus meinem Beispiel
verwende ich Google-Tabelle das Alter einer Person zu erfahren. Ich habe sein Geburtstagsdatum im Format (TT.MM.JJJJ) -> es ist das hier verwendete Format in der Schweiz.

=ARRAYFORMULA(IF(ISTEXT(K4:K), IF(TODAY() - DATE(YEAR(TODAY()), MONTH(REGEXREPLACE(K4:K, "[.]", "/")), DAY(REGEXREPLACE(K4:K, "[.]", "/"))) > 0, YEAR(TODAY()) - YEAR(REGEXREPLACE(K4:K, "[.]", "/")) + 1, YEAR(TODAY()) - YEAR(REGEXREPLACE(K4:K, "[.]", "/"))), IF(LEN(K4:K) > 0, IF(TODAY() - DATE(YEAR(TODAY()), MONTH(K4:K), DAY(K4:K)) > 0, YEAR(TODAY()) - YEAR(K4:K) + 1, YEAR(TODAY()) - YEAR(K4:K)), ""))) 

Ich verwende TODAY() und ich habe oben beschrieben, um die Neuberechnung Einstellungen. -> aber nicht automatisch aktualisieren. :-(
Es aktualisiert nur, wenn ich einen Wert innerhalb der Bereiche ändern, in dem die Funktion für sucht

Also ich ein Google-Script (Extras -> Skript-Editor ..) geschrieben.. Zu diesem Zweck

function onOpen() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheetMaster = ss.getSheetByName("Master"); 
    var sortRange = sheetMaster.getRange(firstRow, firstColumn, lastRow, lastColumn); 

    sortRange.getCell(1, 2).setValue(sortRange.getCell(1, 2).getValue()); 
} 

Sie müssen Zahlen festlegen für firstRow, firstColumn, lastRow, lastColumn

Das Script aktiv werden, wenn die Tabellen zu öffnen, schreibt den Inhalt einer Zelle in die gleiche Zelle wieder. Das ist genug, um die TODAY() func auslösen tion.

Suchen Sie nach mehr Informationen zu diesem Link von Edward Moffett. Force google sheet formula to recalculate

Mit freundlichen Grüßen,
Christoph

+1

Dies scheint die richtige Antwort und doch sogar zu sein Wenn ich dies tue, wird es nicht automatisch aktualisiert. Irgendeine Idee, was ich hier vermisse? – Meir

+0

Ich habe bearbeitet -> ein Beispiel hinzugefügt. – user3536211

Verwandte Themen