Idee per progetti di programmazione con il tuo foglio

Riassunto

Le idee per progetti di programmazione migliori partono da un problema che hai già. Questa guida ne elenca dodici, dalla pulizia da un pomeriggio alla pipeline Python in Excel da un weekend, con il linguaggio giusto per Google Sheets o Excel e gli errori che fanno perdere più tempo.

Un portatile con un foglio di calcolo e un editor di codice accanto a un quaderno di schizzi di progetti

Cerchi idee per progetti di programmazione che porterai davvero a termine? Parti dal foglio di calcolo che apri ogni mattina. Un tracker che ti scrive via email, un foglio che si pulisce da solo, una dashboard che si aggiorna senza che tu tocchi nulla: sono progetti di programmazione veri, e i dati sono già lì. Qui sotto trovi dodici idee che ho costruito io o che ho visto costruire ai colleghi, dal "un pomeriggio" al "un weekend".

Perché il tuo foglio batte un'app di to-do

La maggior parte delle liste di progetti di programmazione propone sempre le stesse cinque cose: un'app di to-do, una calcolatrice, un widget del meteo. Vanno bene. Sono anche noiose, perché nessuno ha davvero bisogno del risultato.

Un progetto nel foglio nasce da un fastidio reale. Ogni venerdì copi gli stessi numeri nelle stesse colonne. Rincorri a mano le approvazioni. Rifai lo stesso report ogni mese. Quando il fastidio è vero, il progetto lo porti a termine, perché sei tu il primo utente.

C'è anche un secondo motivo. Il foglio ti regala un'interfaccia, un database e un sistema di condivisione. Salti la configurazione che fa abbandonare la maggior parte dei progetti per principianti e vai dritto alla logica.

Quale linguaggio per quale progetto nel foglio

Scegli lo strumento in base a dove vive il file, non in base a quello che va di moda.

Attenzione alle versioni: Python in Excel e LAMBDA richiedono Excel 365. Apps Script funziona solo con Sheets. VBA solo con Excel desktop. Se sei su un computer aziendale bloccato, controlla prima di innamorarti di un'idea.

Se non hai mai programmato, inizia con Apps Script. È JavaScript con una rampa d'accesso dolce: apri Estensioni, poi Apps Script, e sei in un editor collegato al tuo foglio.

Mani che digitano su una tastiera mentre sul monitor brillano un foglio di calcolo e una barra laterale con lo script

Idee per principianti: un pomeriggio ciascuna

Richiedono da 20 a 60 righe di codice. Ti consiglio questo ordine.

1. Un menu personalizzato che lancia una pulizia. Scrivi una funzione che elimina gli spazi extra, sistema le maiuscole e rimuove le righe vuote. Poi aggiungila a un menu con onOpen. In un colpo solo impari funzioni, intervalli e API dei menu. È anche il primo script che la gente tiene davvero.

2. Un foglio di riepilogo mensile. Leggi i valori da una scheda di dati grezzi, somma per categoria e scrivi il risultato in una seconda scheda. È SUMIF (SOMMA.SE in Excel italiano) con qualche passaggio in più, e questo è il punto: vedrai esattamente cosa facevano le tue formule per te. Salta questo se vivi già nelle tabelle pivot; la lezione è il ciclo, non il risultato.

3. Un promemoria per compleanni o rinnovi. Tieni un elenco di date nel foglio e lascia che un trigger giornaliero ti mandi un'email quando una scadenza è a una settimana. I trigger di Apps Script sono il momento "ah!" per la maggior parte delle persone. Qualcosa lavora mentre dormi.

4. Un controllo di validità dei dati. Scansiona una colonna ed evidenzia ogni riga che viola le tue regole: formato email sbagliato, prezzo negativo, ID mancante. Scriverai la tua prima espressione regolare e la odierai un po', ed è normale.

Ecco come appare in uno script vero. È il promemoria più semplice che conosco, pronto da incollare nell'editor di Apps Script.

function sendReminders() {
  const rows = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
  rows.slice(1).forEach(([name, date]) => {
    const days = (new Date(date) - new Date()) / 86400000;
    if (days > 0 && days <= 7) {
      MailApp.sendEmail("you@example.com", "Coming up: " + name, "Due " + date);
    }
  });
}

Riga per riga: getValues() restituisce ogni riga come array, slice(1) salta l'intestazione, e MailApp.sendEmail(destinatario, oggetto, corpo) fa l'invio. Collega un trigger a tempo e lo script gira ogni mattina. Gli account personali sono limitati a 100 destinatari email al giorno, e una singola esecuzione si ferma dopo 6 minuti, secondo la pagina delle quote di Apps Script. Basta per un promemoria personale, non per una newsletter.

Idee intermedie: un weekend ciascuna

Qui inizi a collegare il foglio al mondo esterno.

5. Un tracker delle spese alimentato da un modulo. Un Google Form scrive in un foglio, uno script classifica ogni voce e una scheda di riepilogo mostra la spesa per mese. Il modulo fa il lavoro sporco dell'inserimento, così tu ti concentri sulle regole.

6. Un monitor di prezzi o quotazioni. Recupera un numero da una pagina pubblica o da un'API con UrlFetchApp, registralo con data e ora ogni ora e disegna il grafico dello storico. Una volta ho seguito così i prezzi dei voli per un viaggio. La lezione, purtroppo, è che i prezzi salgono il giorno in cui decidi di comprare.

7. Un flusso di approvazione. Una riga riceve lo stato "In attesa", l'approvatore riceve un'email con due link e il clic aggiorna il foglio. Sembra di costruire un piccolo prodotto SaaS. È anche il progetto che la gente chiede più spesso al lavoro.

8. Un riepilogo dal foglio a Slack. Ogni lunedì pubblica in un canale i cinque elementi scaduti più importanti. I webhook sono una semplice chiamata HTTP. Se preferisci non scrivere quella chiamata, un connettore senza codice può fare l'idraulica mentre tu scrivi la logica.

Foglietti adesivi e un tablet con una dashboard su una scrivania di legno, mentre si pianificano progetti su fogli di calcolo

Idee avanzate per chi supera il foglio

Quando il foglio ti sembra piccolo, tienilo come interfaccia e sposta fuori il lavoro pesante.

9. Python in Excel per una pipeline di pulizia. Elimina 200.000 righe duplicate, abbina nomi di aziende con corrispondenze approssimate, segnala valori anomali con qualche riga di pandas. La documentazione di Python in Excel di Microsoft spiega la configurazione. Funziona solo con Excel 365, e le tue formule continuano a governare la griglia.

10. Uno script di riconciliazione. Confronta due esportazioni (banca contro contabilità, ordini contro fatture) ed elenca ciò che compare solo da un lato. Contabili e team operativi lo ripetono ogni mese, quindi anche una versione grezza fa risparmiare ore. Parti dalle corrispondenze esatte, poi aggiungi regole di tolleranza per importi e date.

11. Un'API personale sopra un foglio. Pubblica il foglio come piccola web app con doGet, restituisci JSON e lascia che un altro strumento lo legga. Economico, un po' artigianale, e un ottimo modo per capire cos'è un'API.

12. Una libreria LAMBDA riutilizzabile. Non è scripting, ma conta. Racchiudi i cinque schemi di formula che usi di più in funzioni con nome, così la logica vive in un solo posto. Biscuit lo chiamerebbe "seppellire l'osso in un posto dove lo ritrovi".

Gli errori che ti costeranno il primo weekend

Ogni script nel foglio si rompe negli stessi punti. Conoscerli ti fa risparmiare ore.

Richieste di autorizzazione. La prima volta che uno script invia posta o tocca un altro file, Google chiede di approvare i permessi. Le persone chiudono il messaggio, lo script fallisce in silenzio e pensano che il codice sia sbagliato. Esegui la funzione una volta a mano dall'editor e accetta la finestra.

Date che non sono date. Una cella che sembra una data può essere testo, e lo script finisce per confrontare una stringa con un numero. Verifica con typeof o avvolgi il valore in new Date(). In Excel la stessa trappola si presenta come una data salvata come testo che non si ordina.

Il tempo che finisce. Un ciclo che legge o scrive una cella alla volta è lento, perché ogni chiamata torna al server. Leggi l'intervallo intero una volta con getValues(), lavora sull'array e riscrivilo una volta sola con setValues(). Uno script che impiegava quattro minuti spesso scende a pochi secondi. È il guadagno di velocità più grande in Apps Script, e nei tutorial per principianti non lo nomina quasi nessuno.

Quando qualcosa si rompe, aggiungi righe console.log(), apri il pannello Esecuzioni e leggi l'errore vero. Il messaggio di solito è più utile di quanto sembri.

Una prima settimana realistica. Se vuoi un piano invece di una lista: il primo giorno scegli il fastidio e scrivi il risultato desiderato in una frase. Il secondo fai il compito a mano una volta, lentamente, annotando ogni passaggio. Il terzo trasforma quei passaggi in una funzione che legge i dati e stampa il risultato nel log. Il quarto scrivi il risultato nel foglio. Il quinto aggiungi un trigger o una voce di menu e mostralo a una persona. Nessuno vince una medaglia per uno script perfetto. Uno grezzo che gira ogni mattina batte uno rifinito che vive in una cartella chiamata "dopo".

E l'AI? Usala, ma leggi quello che scrive

Gli assistenti di programmazione con AI sono bravi in questo tipo di lavoro, perché gli script per i fogli sono brevi e l'obiettivo è facile da descrivere. Dì come si chiamano le colonne, cosa deve succedere e come deve essere l'output. Avrai una prima bozza in pochi secondi.

Due regole che seguo. Primo, eseguilo su una copia del foglio, mai sull'originale. Uno script può sovrascrivere una colonna più in fretta di quanto tu riesca a dire "annulla". Secondo, chiedi all'assistente di spiegare ogni riga, poi cambia tu un valore. Se non riesci a prevedere cosa succede, il codice non è ancora davvero tuo.

Un golden retriever seduto tra due portatili aperti, mentre guarda lo schermo

Un buon prompt suona così: "La colonna A contiene i nomi, la colonna B le scadenze. Mandami via email l'elenco di ciò che scade nei prossimi 7 giorni, una volta al giorno." È preciso su input, output e tempistica. Richieste vaghe come "automatizza il mio foglio" danno codice vago, e il codice vago è dove si nascondono i bug silenziosi. Se la prima bozza fallisce, incolla il messaggio di errore esatto e chiedi una correzione, invece di riscrivere il prompt da zero.

Per le semplici formule non serve nessuno script. Descrivi il problema e ottieni la formula, con una nota su se funziona in Excel, in Sheets o in entrambi.

Come scegliere quello che finirai, e da dove partire lunedì

Scegli il progetto con la prima versione più piccola. "Mandami un'email quando una data si avvicina" batte "un CRM completo". Rilascia la versione brutta, usala per due settimane, poi migliora la parte che ti dà fastidio. Annota cosa si è rotto, perché l'elenco dei fastidi diventa i tuoi prossimi tre progetti. Molti degli script che uso ancora oggi sono nati come un trucco di quattro righe di cui mi vergognavo un po'.

Tre filtri aiutano:

Se vuoi un posto dove costruire e rompere le cose in sicurezza, una sandbox di programmazione nel cloud aiuta per i progetti intermedi che escono dal foglio.

Lunedì partirei dal progetto 3, il promemoria. È breve, usa i trigger e il risultato arriva nella tua casella, così noti subito che funziona. Poi aggiungi il progetto 1, così la pulizia è a un clic. Entro fine mese avrai due script di cui ti fidi e un'idea chiara di cosa costruire dopo.

Salta l'app di to-do. Il tuo foglio ha già un'idea migliore.

Domande frequenti

Qual è il primo progetto di programmazione più semplice da fare in un foglio?
Un menu personalizzato che pulisce i dati con Apps Script: una funzione, un onOpen e un'ora di lavoro. Il promemoria via email è il passo successivo più semplice.
Serve saper programmare per automatizzare un foglio di calcolo?
No. Apps Script è JavaScript, ma per i primi progetti bastano venti righe copiate, modificate e capite. Per le formule semplici non serve alcuno script.
Google Sheets o Excel: quale scegliere?
Dipende da dove vive il file. Sheets usa Apps Script, Excel 365 usa Office Scripts o Python in Excel, mentre il vecchio Excel desktop usa VBA.
Gli script nel foglio sono sicuri?
Possono sovrascrivere dati più in fretta di quanto pensi. Prova sempre su una copia del foglio e controlla con attenzione i permessi che Google ti chiede di approvare.
Quante email posso inviare con uno script di Apps Script?
Gli account personali arrivano a 100 destinatari al giorno, e una singola esecuzione si ferma dopo 6 minuti. Per le newsletter servono strumenti pensati per l'invio di massa.
Posso usare Python in Excel su qualsiasi versione?
No. Python in Excel richiede Excel 365, quindi non funziona con Excel 2016 o 2019.