Crea una libreria Apps Script che puoi utilizzare per rimuovere le righe duplicate nei dati del foglio di lavoro.
Obiettivi
- Configura lo script.
- Esegui lo script.
Prerequisiti
Per utilizzare questo esempio, devi soddisfare i seguenti prerequisiti:
- Un Account Google (gli account Google Workspace potrebbero richiedere l'approvazione dell'amministratore).
- Un browser web con accesso a internet.
Configurare lo script
Per creare la libreria, procedi nel seguente modo:
- Accedi al tuo Account Google.
- Per aprire l'editor di script, vai alla pagina script.google.com.
- In alto a sinistra, fai clic su Nuovo progetto.
Elimina qualsiasi codice nell'editor di script e incolla il codice riportato di seguito.
Fai clic su Salva
.
In alto a sinistra, fai clic su Progetto senza titolo.
Assegna al tuo script il nome Remove duplicate rows (Rimuovi righe duplicate) e fai clic su Rinomina.
Fai clic su Esegui il deployment > Nuovo deployment.
Accanto a Seleziona tipo, fai clic su Attiva tipi di deployment
> Libreria.
Inserisci una descrizione della libreria, ad esempio Rimuovi righe duplicate. Chiunque abbia accesso alla raccolta può visualizzare questa descrizione.
Fai clic su Esegui il deployment.
A sinistra, fai clic su Impostazioni progetto
.
Nella sezione ID, copia l'ID script da utilizzare in un passaggio successivo.
Esegui lo script
Per utilizzare una libreria, devi disporre almeno delle autorizzazioni di visualizzazione per il relativo progetto Apps Script. Poiché hai creato la libreria, disponi delle autorizzazioni necessarie per utilizzarla. Se vuoi consentire ad altri di utilizzare la raccolta, concedi l'autorizzazione di visualizzazione per il progetto Apps Script.
Per utilizzare la raccolta, segui questi passaggi:
- Apri un foglio di lavoro Fogli Google che contiene dati con righe duplicate. Per utilizzare un foglio di lavoro di esempio, crea una copia del foglio di lavoro Esempio di righe duplicate.
- Fai clic su Estensioni > Apps Script.
- Accanto a Librerie, fai clic su Aggiungi una libreria .
- Nella sezione ID script, incolla l'ID script del progetto Apps Script della libreria che hai copiato nella sezione precedente.
- Fai clic su Cerca.
- Nella sezione Versione, seleziona 1.
- Fai clic su Aggiungi.
Elimina qualsiasi codice nell'editor di script e incolla il codice riportato di seguito.
function runLibrary() { Removeduplicaterows.removeDuplicates(); }
Nel menu a discesa della funzione, seleziona runLibrary.
Fai clic su Esegui.
Torna al foglio di lavoro per visualizzare i dati aggiornati senza righe duplicate.
Esamina il codice
Per esaminare il codice Apps Script per questa soluzione, fai clic su Visualizza codice sorgente di seguito:
Visualizza il codice sorgente
Innanzitutto, lo script esegue una singola chiamata al foglio di lavoro per recuperare tutti i dati. Puoi scegliere di leggere il foglio riga per riga, ma le operazioni JavaScript sono molto più veloci rispetto alla comunicazione con altri servizi come Fogli. Meno chiamate fai, più velocemente andrà avanti. Questo è importante perché ogni esecuzione dello script ha una durata massima di 6 minuti.
La variabile data
è un array bidimensionale JavaScript che contiene
tutti i valori del foglio. newData
è un array vuoto in cui lo script inserisce tutte le righe non duplicate.
Il primo ciclo for
scorre ogni riga dell'array bidimensionale data
. Per ogni riga, il secondo ciclo verifica se esiste già un'altra riga con
dati corrispondenti nell'array newData
. Se non è un duplicato, la riga viene inserita nell'array newData
.
Infine, lo script elimina i contenuti esistenti del foglio e inserisce
i contenuti dell'array newData
.
Modifiche
Puoi modificare la libreria in base alle tue esigenze. Di seguito è riportata una modifica facoltativa.
Rimuovere le righe con dati corrispondenti in alcune colonne
Anziché rimuovere le righe che corrispondono interamente, potresti voler rimuovere le righe con dati corrispondenti in una o due colonne. Per farlo, puoi modificare l'istruzione condizionale.
Nel codice di esempio, aggiorna la seguente riga:
if(row.join() == newData[j].join()){ duplicate = true; }
Sostituisci la riga con il seguente codice:
if(row[0] == newData[j][0] && row[1] == newData[j][1]){ duplicate = true; }
L'istruzione condizionale riportata sopra trova i duplicati ogni volta che due righe hanno gli stessi dati nella prima e nella seconda colonna del foglio.
Collaboratori
Questo esempio è stato creato da Romain Vialard, un Google Developer Expert. Segui Romain su Twitter @romain_vialard.
Questo esempio è gestito da Google con l'aiuto degli esperti Google.