🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Automazione delle Operazioni di Google Sheets con Google Apps Script

Codegrind TeamAug 23 2024

Automatizzare le operazioni in Google Sheets con Google Apps Script ti consente di risparmiare tempo ed evitare errori manuali, migliorando l’efficienza del tuo lavoro con i fogli di calcolo. In questa guida, esploreremo diverse tecniche per automatizzare attività comuni in Google Sheets, come l’inserimento di dati, la gestione dei fogli e la creazione di report.

Automazione dell’Inserimento di Dati

1. Inserimento Automatico di Dati

Puoi automatizzare l’inserimento di dati in Google Sheets da fonti esterne o in base a determinate condizioni.

function autoInsertData() {
  var sheet =
    SpreadsheetApp.openById("ID_DEL_FOGLIO").getSheetByName("NomeFoglio");
  var data = [
    ["Nome", "Cognome", "Email"],
    ["Mario", "Rossi", "mario.rossi@example.com"],
  ];
  sheet.getRange("A1:C2").setValues(data);
}

Questo script inserisce automaticamente un insieme di dati nel foglio specificato.

2. Popolamento di Celle in Base a Condizioni

Puoi impostare regole per popolare automaticamente le celle in base a determinati criteri.

function populateBasedOnCondition() {
  var sheet =
    SpreadsheetApp.openById("ID_DEL_FOGLIO").getSheetByName("NomeFoglio");
  var lastRow = sheet.getLastRow();
  for (var i = 1; i <= lastRow; i++) {
    var value = sheet.getRange("B" + i).getValue();
    if (value > 100) {
      sheet.getRange("C" + i).setValue("Superato");
    } else {
      sheet.getRange("C" + i).setValue("Non Superato");
    }
  }
}

Questo script verifica i valori in una colonna e popola una cella adiacente in base al risultato.

Automazione della Gestione dei Fogli

1. Creazione Automatica di Nuovi Fogli

Puoi automatizzare la creazione di nuovi fogli all’interno di un documento Google Sheets.

function createNewSheets() {
  var spreadsheet = SpreadsheetApp.openById("ID_DEL_FOGLIO");
  for (var i = 1; i <= 5; i++) {
    spreadsheet.insertSheet("Foglio " + i);
  }
}

Questo script crea automaticamente cinque nuovi fogli all’interno del documento.

2. Rimozione Automatica di Fogli Inutilizzati

Puoi anche automatizzare la rimozione di fogli che non sono più necessari.

function removeUnusedSheets() {
  var spreadsheet = SpreadsheetApp.openById("ID_DEL_FOGLIO");
  var sheets = spreadsheet.getSheets();
  for (var i = 0; i < sheets.length; i++) {
    if (sheets[i].getName().startsWith("Temp")) {
      spreadsheet.deleteSheet(sheets[i]);
    }
  }
}

Questo script rimuove tutti i fogli che iniziano con “Temp”.

Automazione della Creazione di Report

1. Generazione Automatica di Report

Puoi automatizzare la generazione di report in Google Sheets, consolidando i dati da più fogli o documenti.

function generateReport() {
  var spreadsheet = SpreadsheetApp.openById("ID_DEL_FOGLIO");
  var reportSheet =
    spreadsheet.getSheetByName("Report") || spreadsheet.insertSheet("Report");
  reportSheet.clear(); // Pulisce il foglio prima di generare un nuovo report

  var data = [];
  var sheets = spreadsheet.getSheets();
  for (var i = 0; i < sheets.length; i++) {
    if (sheets[i].getName() !== "Report") {
      var sheetData = sheets[i].getDataRange().getValues();
      data = data.concat(sheetData);
    }
  }
  reportSheet.getRange(1, 1, data.length, data[0].length).setValues(data);
}

Questo script raccoglie dati da tutti i fogli (eccetto il foglio “Report”) e li consolida in un unico foglio chiamato “Report”.

2. Invio Automatico di Report via Email

Dopo aver generato un report, puoi automatizzare l’invio del report via email.

function sendReportEmail() {
  var sheet = SpreadsheetApp.openById("ID_DEL_FOGLIO").getSheetByName("Report");
  var report = sheet.getDataRange().getValues();

  var emailBody = "";
  for (var i = 0; i < report.length; i++) {
    emailBody += report[i].join(", ") + "\n";
  }

  MailApp.sendEmail({
    to: "recipient@example.com",
    subject: "Report Automatico",
    body: emailBody,
  });
}

Questo script invia il contenuto del report tramite email a un destinatario specifico.

Automazione Avanzata con Trigger

1. Creazione di Trigger per l’Esecuzione Automatica

Puoi configurare trigger per eseguire automaticamente script in base a eventi specifici come l’apertura del foglio, l’invio di un modulo o a intervalli di tempo.

function createTimeDrivenTrigger() {
  ScriptApp.newTrigger("generateReport")
    .timeBased()
    .everyDays(1)
    .atHour(6)
    .create();
}

Questo script crea un trigger che esegue la funzione generateReport ogni giorno alle 6 del mattino.

Conclusione

L’automazione delle operazioni in Google Sheets con Google Apps Script ti permette di ridurre drasticamente il tempo speso su attività ripetitive, migliorare la precisione e liberare risorse per compiti più complessi e strategici. Con le tecniche descritte in questa guida, puoi automatizzare gran parte del lavoro nei fogli di calcolo, rendendo i tuoi processi aziendali più efficienti e affidabili.