Microsoft Excel permette di inserire delle checkbox dinamiche in maniera piuttosto semplice, a partire dalla versione 365. In passato, bisognava seguire alcune procedure complesse che richiedevano anche l'utilizzo della sezione Sviluppo, in genere sfruttata per creare macro con VBA o per la creazione di controlli di modulo. Purtroppo questa sezione non è compatibile con Excel online, quindi sta gradualmente perdendo terreno a favore di feature più recenti.
Vediamo quindi come sfruttare al meglio le checkbox su Excel. L'intera guida è compatibile esclusivamente con Excel 365, dato che è una funzionalità piuttosto recente e che non è stata pensata per essere utilizzata su versioni di Excel precedenti.
Che cosa sono le checkbox in Excel
Le checkbox sono degli speciali pulsanti di Excel, utilizzati per determinare se in una cella il valore sia VERO oppure FALSO. Anzichè inserire questi valori a mano in celle separate, possiamo cliccare all'interno di una singola checkbox per indicare che il valore sia VERO oppure non cliccarla per mantenere il valore su FALSO. Non possiamo inserire altri valori o liste di dati, ma è come se facessimo un controllo VERO vs FALSO (1 vs 0 in Excel) lavorando con logiche di algebra booleana.
Questa distinzione fra VERO e FALSO ci permette grande versatilità all'interno dei nostri file, perchè possiamo selezionare una o più checkbox per indicare se alcune opzioni debbano essere selezionate o meno. Facciamo qualche esempio:
- Vogliamo fare un preventivo dinamico dove, al variare di una checkbox, sia calcolata o meno la spedizione
- Vogliamo creare una lista di task che, quando vengono cliccate, sono inserite in una lista chiamata "Task completate"
- Vogliamo selezionare a piacimento una o più opzioni per vedere velocemente i dati di una tabella
Nel nostro caso abbiamo selezionato i top 50 giocatori della NBA 2023/2024 e vogliamo utilizzare le checkbox per ottenere solamente i giocatori che appartengano a certe squadre, scelte dall'utente. Vediamo insieme come fare.
Prima di tutto, selezioniamo tutte le squadre in maniera univoca:
=DATI.ORDINA(UNICI(TBL_PLAYERS[TEAM]))
Prendiamo tutti i valori univoci dei team, presi dalla colonna TEAM della tabella TBL_PLAYERS, e li ordiniamo nella cella E5. Ora inseriamo le checkbox nella colonna F in corrispondenza da F5 in poi.
Come inserire una checkbox in Excel
Inserire una checkbox in Excel è piuttosto semplice, se parliamo della versione Excel 365. In questo caso ci basta cliccare su Inserisci > Checkbox e possiamo inserirla all'interno di una singola cella.
Possiamo anche selezionare più celle, in questo caso la checkbox sarà inserita all'interno di ogni cella che stiamo selezionando nel momento del click su Inserisci > Checkbox.
Avremo quindi una lista di squadre e, sulla sinistra, le singole checkbox per singola cella. Il valore di partenza sarà sempre FALSO e, di base, la checkbox sarà considerata come non attiva. Lo noti perchè è solo un quadratino senza alcuna spunta (V) all'interno.
Quando clicchi all'interno della checkbox, il risultato cambia. Questo perchè adesso stiamo selezionando le celle F5, F8 e F11, che sono VERO. Lo noti dal punto di vista visuale, dato che c'è una spunta (V) all'interno.
Lo noti ancora meglio in questo caso, se proviamo a utilizzare le celle con le checkbox all'interno di formule:
=SCARTO(E5#;0;1)
Stiamo dicendo a Excel che vogliamo prendere tutti i valori che sono a destra di una colonna rispetto a E5#, che è il nostro array con le singole squadre. Come vedi, il risultato è una serie di VERO e FALSO che possiamo utilizzare per le nostre formule.
Un'alternativa potrebbe essere questa, magari per visualizzare ancora meglio la distinzione:
=SCARTO(E5#;0;1)*1
In questo caso vedresti, anzichè VERO e FALSO, una fila di 1 (VERO) e 0 (FALSO).
Utilizziamo ora i valori per creare delle formule dedicate a trovare solamente i giocatori che appartengono a certe squadre.
Come utilizzare le checkbox all'interno di formule Excel
Vediamo come utilizzare le checkbox all'interno di formule Excel, riprendendo sempre il caso delle squadre visto in precedenza. Noi vogliamo:
- Filtrare i giocatori che appartengono alle squadre in maniera dinamica
- Ordinarli alfabeticamente
- Contarli
- Riassumere il totale di team considerati dall'utente
Vediamo i singoli passaggi.
Per trovare i singoli giocatori relativi alle squadre possiamo fare così:
=DATI.ORDINA(FILTRO(TBL_PLAYERS[PLAYER];
CONTA.PIÙ.SE(E5#;TBL_PLAYERS[TEAM];
SCARTO(E5#;0;1);VERO);""))
Filtriamo i valori dei giocatori quando si verificano due condizioni:
- Le squadre inserite in E5# sono effettivamente quelle della nostra tabella di partenza
- Accanto ai valori di E5#, sulla destra, ci sono delle squadre selezionate che corrispondono al valore VERO
In questo caso vediamo che è selezionato DEN (Denver) e infatti abbiamo 4 giocatori collegati proprio con Denver. Tutte le altre squadre vengono ignorate, dato che il valore a loro collegato nella colonna F è FALSO e non VERO.
Se non c'è alcuna squadra selezionata, otterremo il valore vuoto ("").
Come noti, la formula funziona anche se selezioniamo più squadre. In questo caso avremo 8 giocatori, corrispondenti ai 4 giocatori di DEN (Denver) indicati in precedenza e ai 4 di BOS (Boston).
Per il conteggio il calcolo è decisamente più semplice:
=SE(H5="";0;CONTA.VALORI(H5#))
Se ciò che otteniamo è il valore vuoto, allora mettiamo 0. Altrimenti, contiamo i valori dell'intervallo dei giocatori che vengono restituiti.
Vediamo ora come contare correttamente il numero di squadre selezionate:
=LET(total;
CONTA.SE(SCARTO(E5#;0;1);VERO);
SE(total=0;"";total))
Il totale è il numero di valori nell'intervallo delle checkbox che sono pari a VERO. Se il valore è 0, mettiamo vuoto. Altrimenti, inseriamo il numero di squadre selezionate.
Possiamo anche aggiungere l'indicazione di quali siano le squadre effettivamente selezionate:
=LET(values;"Players from: "&
TESTO.UNISCI(", ";;DATI.ORDINA(FILTRO(E5#;
SCARTO(E5#;0;1)=VERO;"")));
SE(H2="";"";values))
Vogliamo che ci sia sempre la scritta "Players from" che poi si unisca con una lista di tutte le squadre selezionate. In questo caso utilizziamo TESTO.UNISCI che mette tutte le squadre una dopo l'altra, ordinate alfabeticamente, separandole con una virgola.
La formula precedente calcola solo i numeri, ma come facciamo a far vedere Teams oppure Team? Selezioniamo H2 per poi andare su Home > Numeri > Formato numero per aprire il menu contestuale e modificare il formato personalizzato.
[>1]# "Teams";[=1]# "Team";;
Che cosa dice, questo formato?
- Se il valore che troviamo è superiore a 1, allora inserisci il valore e la scritta "Teams". Quindi se il totale di squadre fosse 3, apparirebbe "3 Teams"
- Se il valore è pari a 1, allora inserisci il valore e la scritta "Team". Se selezioniamo solamente una squadra, vedremmo "1 Team"
- In tutti gli altri casi, metti il valore vuoto
Un altro accorgimento è come fare per cambiare il colore della checkbox una volta selezionata. Per questo possiamo semplicemente fare così:
- Selezioniamo E5:F20, ovvero l'intervallo per le squadre e le relative checkbox. Con la formula =NON($F5) stiamo dicendo che, se è FALSO, vogliamo che il testo sia grigio
- Allo stesso modo, se mettiamo =$F5, vuol dire che stiamo dicendo che il valore deve essere VERO. In questo caso, il nostro testo sarà quindi verde
A questo punto, il nostro file è completato! Puoi applicare le stesse identiche logiche ai tuoi file di lavoro, sempre tenendo a mente che una checkbox selezionata = VERO mentre una checkbox non selezionata = FALSO.
Cosa succede se sovrascriviamo una checkbox in Excel
Ci potrebbe capitare di scrivere all'interno di una cella Excel dove sia già presente una checkbox. Vediamo che cosa succede, in questo caso:
- Se andiamo a sovrascrivere la checkbox, non importa che il valore sia FALSO o VERO. Potremo sempre sovrascriverla
- Se la sovrascriviamo e inseriamo all'interno un valore o il risultato di una formula, Excel provvederà a rimuovere quanto già presente all'interno della cella
- Curiosamente, la checkbox non svanisce del tutto. Se infatti cancelliamo il contenuto della cella, possiamo vedere come ci sia ancora una checkbox seppellita sotto il valore da noi inserito - ma, a prescindere da quale valore ci fosse prima di essere sovrascritta, sarà sempre con il valore FALSO
Rispetto ad altre funzionalità di Excel, le checkbox aumentano le possibilità di personalizzazione dei file ma anche i rischi, dato che possono essere sovrascritte senza particolari difficoltà. Andrebbe quindi pensata una regola per proteggere le celle contenenti le checkbox, in modo da evitare errori durante l'utilizzo del file.
Sono un formatore e consulente esperto nell’uso e nell’insegnamento di Microsoft Excel.
Negli ultimi 3 anni ho tenuto corsi presso realtà in multinazionali come Aruba, Bridor, IMI Orton, Primadonna e SISAL, oltre a PMI e startup di diverso genere.
Realizzo corsi di formazione Excel dedicati per aziende, supporto professionisti 1:1 a distanza con call mirate e collaboro con aziende offrendo servizi di consulenza quali creazione di business plan, dashboard di vendita e non solo.
Vuoi saperne di più? Prenota una call gratuita di 15′!