🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Manipolazione delle Celle e dei Range in Google Sheets con Google Apps Script

Codegrind Team•Aug 23 2024

La manipolazione delle celle e dei range in Google Sheets è una delle funzionalità chiave di Google Apps Script, che ti permette di gestire e formattare i dati nei tuoi fogli di calcolo in modo avanzato. In questa guida, esploreremo diverse tecniche per lavorare con celle e range, inclusa la modifica dei dati, l’applicazione di formattazioni e la gestione dinamica dei range.

Accesso alle Celle e ai Range

1. Accesso a un Foglio di Calcolo

Prima di manipolare le celle e i range, è necessario accedere al foglio di calcolo desiderato.

function accessSheet() {
  var sheet =
    SpreadsheetApp.openById("ID_DEL_FOGLIO").getSheetByName("NomeFoglio");
  return sheet;
}

2. Selezione di un Range

Puoi selezionare un range specifico di celle utilizzando il metodo getRange.

function selectRange() {
  var sheet = accessSheet();
  var range = sheet.getRange("A1:B10");
  return range;
}

Manipolazione dei Dati nelle Celle

1. Modifica dei Dati

Una volta selezionato un range, puoi facilmente modificare i dati all’interno di quel range.

function modifyData() {
  var range = selectRange();
  var data = range.getValues();

  // Modifica del valore di una cella specifica
  data[0][0] = "Nuovo Valore";

  // Aggiornamento del range con i nuovi valori
  range.setValues(data);
}

2. Scambio di Dati tra Celle

Puoi scambiare i dati tra due celle o range di celle.

function swapCells() {
  var sheet = accessSheet();
  var cellA = sheet.getRange("A1").getValue();
  var cellB = sheet.getRange("B1").getValue();

  sheet.getRange("A1").setValue(cellB);
  sheet.getRange("B1").setValue(cellA);
}

Formattazione delle Celle

1. Applicazione di Formattazione al Testo

Puoi applicare formattazioni come grassetto, corsivo, colore del testo e allineamento alle celle di un range.

function formatCells() {
  var range = selectRange();

  // Applicazione del grassetto
  range.setFontWeight("bold");

  // Cambia il colore del testo
  range.setFontColor("#FF0000");

  // Allineamento del testo al centro
  range.setHorizontalAlignment("center");
}

2. Formattazione Condizionale

La formattazione condizionale consente di applicare stili alle celle in base ai valori che contengono.

function conditionalFormatting() {
  var range = selectRange();
  var rules = SpreadsheetApp.newConditionalFormatRule()
    .whenTextContains("Importante")
    .setBackground("#FFDDC1")
    .setFontWeight("bold")
    .setRanges([range])
    .build();

  var sheet = accessSheet();
  var rules = sheet.getConditionalFormatRules();
  rules.push(rule);
  sheet.setConditionalFormatRules(rules);
}

Gestione Dinamica dei Range

1. Selezione di Range Dinamici

Puoi selezionare range che cambiano dinamicamente in base al contenuto del foglio.

function dynamicRange() {
  var sheet = accessSheet();
  var lastRow = sheet.getLastRow();
  var range = sheet.getRange("A1:B" + lastRow);
  Logger.log("Range dinamico selezionato: " + range.getA1Notation());
}

2. Aggiunta e Rimozione di Righe e Colonne

Puoi aggiungere o rimuovere righe e colonne in modo dinamico.

function addRemoveRowsColumns() {
  var sheet = accessSheet();

  // Aggiungi 2 righe dopo la prima riga
  sheet.insertRowsAfter(1, 2);

  // Rimuovi la terza colonna
  sheet.deleteColumn(3);
}

Copia e Incolla di Range

1. Copia di Dati tra Range

Puoi copiare i dati da un range e incollarli in un altro range.

function copyRange() {
  var sheet = accessSheet();
  var sourceRange = sheet.getRange("A1:B10");
  var targetRange = sheet.getRange("C1:D10");

  sourceRange.copyTo(targetRange);
}

2. Copia di Formattazione

Puoi copiare solo la formattazione da un range e applicarla a un altro.

function copyFormatting() {
  var sheet = accessSheet();
  var sourceRange = sheet.getRange("A1:B10");
  var targetRange = sheet.getRange("C1:D10");

  sourceRange.copyFormatToRange(sheet, 3, 4, 1, 10);
}

Conclusione

La manipolazione delle celle e dei range in Google Sheets con Google Apps Script offre una grande flessibilitĂ  per gestire e formattare i dati in modo dinamico ed efficiente. Con queste tecniche avanzate, puoi automatizzare processi complessi e migliorare la produttivitĂ  nel lavorare con fogli di calcolo Google.