Una soluzione Excel non è buona soltanto perché funziona. Deve funzionare anche per la persona che la userà e per chi, eventualmente, dovrà controllarla o mantenerla nel tempo.
È un criterio facile da trascurare, soprattutto quando costruiamo strumenti per noi stessi. Conosciamo i dati, ricordiamo perché abbiamo scelto una certa formula e sappiamo dove intervenire se qualcosa non torna. Quando il file passa a un altro utente, gran parte di questo contesto scompare.
La stessa formula per utenti diversi
Una formula ad espansione costruita con LET, FILTRO, MAP o altre funzioni recenti può sostituire decine di formule tradizionali. Dal punto di vista tecnico è spesso un miglioramento: meno duplicazione, meno trascinamenti, una logica concentrata in un solo punto.
Ma il vantaggio cambia a seconda di chi apre il file. Per un utente che conosce gli array dinamici, una formula unica può essere più leggibile di molte colonne di appoggio. Per chi lavora soprattutto con formule tradizionali, la stessa soluzione può apparire come un blocco difficile da interpretare e ancora più difficile da modificare.
Nascondere la complessità non significa eliminarla
Power Query permette di spostare fuori dal foglio molte operazioni di importazione e trasformazione. VBA può arrivare ancora oltre, offrendo pulsanti e procedure che guidano l’utente senza mostrargli quasi nulla della logica sottostante.
Per chi utilizza lo strumento può essere un grande vantaggio. Per chi deve mantenerlo, però, la complessità esiste ancora: si è semplicemente spostata. Una query M o una procedura VBA ben progettata può essere molto più manutenibile di un foglio pieno di formule; una soluzione poco strutturata può produrre l’effetto opposto.
Chi deve capire cosa?
Non tutti gli utenti devono conoscere l’intera soluzione. In uno strumento operativo può essere corretto che chi lo utilizza veda soltanto input, controlli e risultati, mentre la logica rimane affidata a formule, query o codice protetti da modifiche accidentali.
Il punto è capire chi dovrà intervenire quando cambierà una regola, arriverà una nuova sorgente dati o comparirà un risultato inatteso. Se quella persona non dispone degli strumenti necessari per leggere la soluzione, il problema non è soltanto formativo: diventa un problema di progettazione.
Anche il debug dipende dall’utente
La manutenibilità emerge soprattutto quando qualcosa non funziona. Una formula semplice può essere verificata direttamente nel foglio; una formula LET molto articolata evita duplicazioni e permette di dare un nome ai passaggi intermedi, ma non offre sempre la stessa immediatezza nel debug. Tecniche abituali come F9, per esempio, non consentono di ispezionare con la stessa comodità i nomi locali definiti all’interno di LET.
Power Query rende visibili i passaggi della trasformazione, ma richiede di conoscere il suo modello di elaborazione. VBA dispone di strumenti di debug molto più completi, ma presuppone competenze di programmazione. Non esiste quindi uno strumento che sia semplicemente «più facile»: dipende da chi dovrà diagnosticare il problema.
Versioni, lingua e contesto
Anche l’ambiente dell’utente fa parte della soluzione. Una funzione recente può non essere disponibile in una versione precedente di Excel. E i nomi delle funzioni localizzate non seguono sempre una regola uniforme: nella versione italiana possono convivere, per esempio, LET, LAMBDA e MAP con UNICI.
Questo non rende necessariamente il file meno portabile, ma può rendere meno immediato leggere una formula trovata nella documentazione, confrontarla con un esempio online o spiegare la soluzione a chi utilizza Excel in un’altra lingua.
Progettare per due utenti
Molti file Excel hanno in realtà almeno due utenti: chi li usa e chi li mantiene. A volte sono la stessa persona, ma non è prudente progettarli dando per scontato che sarà sempre così.
Per il primo servono chiarezza, pochi passaggi e protezione dagli errori. Per il secondo servono struttura, nomi comprensibili, logica non duplicata e la possibilità di capire rapidamente dove intervenire.
Una buona soluzione cerca un equilibrio tra queste due esigenze. Non sceglie la formula più sofisticata, la query più elegante o la macro più automatizzata in assoluto. Sceglie il livello di complessità che il contesto può sostenere.