[apps script] Creiamo una funzione personalizzata che esegua la somma sull’intervallo di uno Spreadsheet
Oggi vediamo come creare una funzione per Spreadsheet con Google Apps Script che permetta di sommare tutti gli elementi di un intervallo passato per argomento, al pari della funzione SUM().
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
/** * Somma i valori di un intervallo * * @param {range} intervallo L'intervallo da sommare * @return La somma dei valori dell'intervallo * @customfunction */ function MIASOMMA(intervallo) { if( Array.isArray( intervallo ) ) { var somma = 0; if( Array.isArray( intervallo[0] ) ) { intervallo.forEach(function(riga){ riga.forEach(function(colonna) { somma += parseFloat(colonna); }); }); } else { intervallo.forEach(function(v){ somma += parseFloat(v); }); } return somma; } else { return parseFloat(intervallo); } } |
Faccio notare che abbiamo usato parseFloat() su tutti i valori, in modo che se venissero passati valori non numeri la funzione restituirebbe #NUM!.
Una volta inserita la funzione nello script possiamo testarla nel modo seguente: