Se stai cercando di creare una funzione personalizzata per dare lo stesso risultato della tua funzione di foglio di calcolo, dovrai utilizzare Google Apps Script in modo che esegua il calcolo, piuttosto che tentare di usarlo per impostare una formula nel foglio di calcolo (che, come ha sottolineato Serge, non funzionerà in quanto non consentito).
(Inoltre, tanto per essere chiari per i lettori futuri, Google Apps Script e le loro funzioni personalizzate non possono eseguire calcoli utilizzando Google Spreadsheets formule. Si eseguono calcoli in javascript lingua. D'altra parte, lo script, tramite setFormulas può essere utilizzato per scrivere una formula di foglio di calcolo in una cella, in cui la formula del foglio di calcolo eseguirà un calcolo ... ma non può farlo se lo script viene utilizzato come funzione personalizzata (cioè se viene chiamato all'interno di una cella con un segno =) ma solo se lo script viene chiamato da un altro metodo, ad esempio una voce di menu o da un trigger, che si tratti di un trigger che risponde a un foglio di calcolo o un . Timer)
Quindi, è possibile scrivere javascript nella funzione personalizzata per calcolare le settimane, giorni e uno di questi script potrebbe essere:
function ageInWeeks(date) {
var mil = new Date() - new Date(date).getTime()
var seconds = (mil/1000) | 0;
mil -= seconds * 1000;
var minutes = (seconds/60) | 0;
seconds -= minutes * 60;
var hours = (minutes/60) | 0;
minutes -= hours * 60;
var days = (hours/24) | 0;
hours -= days * 24;
var weeks = (days/7) | 0;
days -= weeks * 7;
return weeks +' wks, ' + days + ' days'
}
Questo potrebbe essere messo nel foglio di calcolo in una cella, tranne D19 se fa riferimento a D19, come ad esempio:
dove la cella D19 contiene una data nel passato.
(Si noti che la funzione personalizzata è probabile che sia più lento di formula foglio di lavoro originale)
fonte
2013-07-13 19:42:09
Grazie per la risposta completa! Il codice funziona perfettamente. – tomazzlender