Javascript, HTML, CSS e... !
0 commenti

Con il metodo setFormula() della Classe Range

Utilizzare le funzioni native di Google Sheets da Apps Script

Personalmente preferisco gestire le operazioni effettuate sulle celle di un Foglio di Google utilizzando gli strumenti messi a disposizione dal Javascript, considerando che la logica e la sintassi dei Google Script si basa appunto su questo linguaggio. È tuttavia fattibile poter inserire all'interno di una cella le formule native dello Spreadsheet.
Ciò non significa che possono essere utilizzate all'interno degli script per effettuare calcoli ed operazioni ma dallo script è possibile assegnarle direttamente ad una cella o più celle.

Nonostante possano esserci alcune controindicazioni nell'adottare questa pratica, come ad esempio la leggibilità del codice oppure la generazione di tempi di ritardo di elaborazioni non gestite direttamente dallo script così come il fatto che la formula rimarrà assegnata alla cella anche ad un'apertura successiva del Foglio di Google, può capitare di dover gestire una situazione dove ne è previsto l'uso.
Per poter inserire una formula nativa da Apps Script in una cella di un Foglio di Google possiamo fare uso del metodo setFormula(formula) della Classe Range (del Servizio Spreadsheet).

Il codice seguente, similmente presente anche nella documentazione ufficiale, mostra la sintassi da adottare per inserire la formula nativa della somma (SUM) all'interno della cella B6 basata sui valori delle celle da B1 a B5:

function setNativeFormula() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  
  var cell = sheet.getRange("B6");
  cell.setFormula("=SUM(B1:B5)"); // <-- assegnazione della formula nativa alla cella indicata

  cell.setBackground('yellow');
}

L'immagine seguente ne evidenzia il risultato:



apps script metodo setFormula della classe range

Utilizzo del metodo setFormula() della Classe Range da Google Apps Script


Posizionando il focus sulla cella in questione, alla quale ho modificato il colore di sfondo per renderla più evidente, e guardando all'interno della barra delle funzioni (fx) è possibile vedere che l'assegnazione della formula nativa è andata a buon fine (come appunto conferma il valore all'interno della cella). 

 

Tags

Michele Pisani

Michele Pisani

Sviluppatore Javascript ed esperto in Digital Analytics

L'esperienza nel settore Digital Analytics unita ad anni di sviluppo in Javascript ha trovato la massima espressione in Google Apps Script che mi ha permesso, con estrema facilità e poche righe di codice, di realizzare potenti applicazioni interattive e processi automatizzati integrati con i prodotti della G Suite.

Come contattarmi
scrivi un commento

0 Commenti

Non ci sono commenti

Nessuno ha ancora commentato questo articolo, fallo tu per primo!

scrivi un commento

Scrivi un commento

Il tuo indirizzo email non sarà pubblicato.I campi contrassegnati da un * sono obbligatori
Puoi utilizzare i seguenti tag nei commenti:
[bold]testo[/bold] se vuoi evidenziare un testo con il grassetto[code]function helloworld() { }[/code] se vuoi pubblicare una porzione di codice[url]http://www.appsscript.it[/url] se devi riferirti ad un indirizzo web