Quando chiamo una funzione di foglio elettronico, ad esempio int(f2)
, la funzione opera sul valore nella cella. Se cell("F2")
contiene 3,14159, il risultato sarebbe 3. Ma quando chiamo un diverso tipo di funzione - per esempio: row(f8)
- la funzione prende il riferimento di cella, e non il valore, in questo caso, tornando 8.riferimenti di celle di passaggio alle funzioni del foglio di calcolo
Come faccio a far funzionare la mia funzione personalizzata con il riferimento, anziché il valore?
Posso passare una stringa e utilizzare getRange()
, ma, se sposto o aggiorno le celle sul foglio, le stringhe non cambieranno.
Davvero semplice esempio:
function GetFormula(cellname) {
return SpreadsheetApp.getActiveSheet().getRange(cellname).getFormula();
}
Con questo nel codice del mio foglio, posso recuperare la formula C4 come questo: =GetFormula("C4")
Ma, questo argomento è una stringa, e avrei preferito passare un riferimento di cella. Un problema un po 'più complicato richiede che le celle chiamanti si aggiornino quando vengono copiate e incollate.
Qualche idea?
Ecco una soluzione e non una soluzione - '= GetFormula (INDIRIZZO (ROW (F8), COLONNA (F8)))' – megabyte1024
che farà quello che voglio, ma, ragazzo, è brutto! Ora, devo spiegarlo a chiunque lo veda, sai? – HardScale
Thread correlato su [webapps.se]: [Come passare un intervallo in una funzione personalizzata in Google Spreadsheets?] (Http://webapps.stackexchange.com/questions/10629/how-to-pass-a-range- in-a-custom-function-in-google-spreadsheets /) –