2014-04-20 30 views
14

Alcuni codici sono stati scritti per questo scopo ma con i nuovi componenti aggiuntivi non sono più applicabili.Come forzare i nuovi fogli di calcolo di Google per aggiornare e ricalcolare?

Grazie in anticipo, Iddo

+1

Vuol Ctrl + R non funzionare per voi? – pnuts

+0

In realtà, intendevo aggiornare e ricalcolare automaticamente – iddo

+0

La risposta di Rubén da http://stackoverflow.com/questions/38127603/force-google-sheet-formula-to-recalculate mi ha aiutato –

risposta

24

File -> Impostazioni foglio di calcolo -> (Tab) Calcolo -> ricalcolo (3 opzioni)
- Il cambiamento
- Il cambiamento e ogni minuto
- Il cambiamento e ogni ora
Questo influisce sulla frequenza con cui vengono aggiornati ORA, OGGI, RAND e RANDBETWEEN.

ma .. .. è aggiorna solo, se gli argomenti funzioni (le loro gamme, cellule) sono influenzati da questo.

dal mio esempio
Posso utilizzare Google foglio di calcolo per scoprire l'età di una persona. Ho la sua data di compleanno nel formato (gg.mm.aaaa) -> è il formato utilizzato qui in Svizzera.

=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)), ""))) 

sto usando TODAY() e ho fatto le impostazioni di ricalcolo sopra descritte. -> ma non si aggiorna automaticamente. :-(
Si aggiorna solo, se cambio un certo valore all'interno delle gamme in cui la funzione è alla ricerca di

così ho scritto uno script di Google (Strumenti -> Script Editor ..).. A tal fine

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

è necessario impostare i numeri per firstRow, firstColumn, lastRow, lastColumn

The script ottenere attivo quando i fogli di lavoro aperti, scrive il contenuto di una cella nella stessa cella di nuovo. Questo è sufficiente per far scattare l'TODAY() func zione.

Cercare ulteriori informazioni sul collegamento da Edward Moffett. Force google sheet formula to recalculate

Con i migliori saluti,
Christoph

+1

Questa sembra essere la risposta giusta eppure quando lo faccio, non si aggiorna automaticamente. Qualche idea di cosa mi manchi qui? – Meir

+0

Ho modificato -> aggiunto un esempio. – user3536211