=SWITCH(B2;"N";"North";"S";"South";"E";"East";"Unknown") confronta B2 con "N", "S" ed "E" a turno e restituisce il nome abbinato alla prima corrispondenza esatta. Quando B2 non corrisponde a nessuno di essi, restituisce l'ultimo argomento, Unknown. SWITCH ha lo stesso nome in Excel italiano e inglese; la tabella mostra le formule con la virgola, ma puoi scriverle anche all'italiana, con il punto e virgola.
| A | B | C | |
|---|---|---|---|
| 1 | Store | Code | Region |
| 2 | 101 | N | North |
| 3 | 102 | S | South |
| 4 | 103 | W | Unknown |
| 5 | 104 | E | East |
| 6 | 105 | n | North |
=SWITCH(B2;"N";"North";"S";"South";"E";"East";"Unknown")Fai clic su C2 per vedere la formula. Il negozio 103 ha il codice W, che non è nell'elenco, quindi riceve Unknown. Il negozio 105 ha una n minuscola e riceve comunque North: in SWITCH il confronto di testo ignora maiuscole e minuscole. Cambia B4 in S e la regione si aggiorna.
Sintassi di SWITCH
=SWITCH(expression, value1, result1, [value2, result2], ..., [default])
expression(espressione) viene calcolata una volta sola: una cella, o una formula comeGIORNO.SETTIMANA(A2)oMESE(A2).- Poi vengono coppie formate da un valore e dal risultato da restituire quando
expressionè uguale a quel valore. Le coppie possono essere fino a 126. default(predefinito) è facoltativo: un argomento in più dopo l'ultima coppia. SWITCH sa che è il valore predefinito perché non ha un compagno.- La corrispondenza è esatta. Da sola, SWITCH non può verificare "maggiore di" (vedi SWITCH(VERO) più sotto).
SWITCH richiede Excel 2019 o versioni successive, oppure Microsoft 365. In un Excel 2016 a licenza perpetua o precedente una formula con SWITCH mostra #NOME? (in inglese #NAME?). Anche Fogli Google ha SWITCH.
Il valore predefinito, e #N/D senza di esso
Senza un valore predefinito, un valore che non corrisponde a nulla dà #N/D (in inglese #N/A, come lo mostra la tabella). Qui il numero del giorno della settimana dato da GIORNO.SETTIMANA (in inglese WEEKDAY; 1 è domenica, 7 è sabato) viene trasformato in un'etichetta; la colonna C non ha un valore predefinito, la colonna D ha "Weekday" come predefinito:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Date | Day number | No default | With default |
| 2 | 2026-03-14 | 7 | Saturday | Saturday |
| 3 | 2026-03-15 | 1 | Sunday | Sunday |
| 4 | 2026-03-16 | 2 | #N/A | Weekday |
| 5 | 2026-03-17 | 3 | #N/A | Weekday |
| 6 | 2026-03-21 | 7 | Saturday | Saturday |
=SWITCH(GIORNO.SETTIMANA(A2);1;"Sunday";7;"Saturday";"Weekday")Il 14 e il 21 marzo 2026 sono sabati e il 15 marzo è una domenica, quindi entrambe le colonne li nominano. Il lunedì e il martedì non corrispondono né a 1 né a 7: la colonna C mostra #N/D, la colonna D mostra Weekday. La colonna D mostra anche che l'espressione può essere una formula: GIORNO.SETTIMANA viene calcolata una volta e SWITCH confronta il suo risultato con ogni valore. In Excel italiano la formula di D2 è =SWITCH(GIORNO.SETTIMANA(A2);1;"Sunday";7;"Saturday";"Weekday").
SWITCH(VERO; ...) per le fasce
SWITCH verifica solo l'uguaglianza, ma l'espressione può essere VERO. Ogni valore è allora un confronto, e SWITCH restituisce il risultato del primo confronto uguale a VERO. Così funziona come PIÙ.SE, con un valore predefinito alla fine:
| A | B | C | |
|---|---|---|---|
| 1 | Student | Score | Grade |
| 2 | Ana | 94 | A |
| 3 | Ben | 81 | B |
| 4 | Chloe | 70 | C |
| 5 | Dan | 65 | F |
| 6 | Eve | 88 | B |
=SWITCH(VERO;B2>=90;"A";B2>=80;"B";B2>=70;"C";"F")I confronti vengono letti in ordine, quindi la soglia più alta va per prima, la stessa regola dei SE annidati e di PIÙ.SE. La "F" finale non ha un compagno, quindi è il valore predefinito per ogni punteggio sotto 70. PIÙ.SE scrive la stessa regola in modo altrettanto chiaro; l'unica differenza è dove va VERO: una volta all'inizio in SWITCH, come ultimo test in PIÙ.SE.
Trasformare numeri in nomi
Un uso frequente è trasformare un numero di codice in una parola, come una posizione d'arrivo in una medaglia:
| A | B | C | |
|---|---|---|---|
| 1 | Runner | Rank | Medal |
| 2 | Ana | 2 | Silver |
| 3 | Ben | 1 | Gold |
| 4 | Chloe | 4 | |
| 5 | Dan | 3 | Bronze |
| 6 | Eve | 7 |
=SWITCH(B2;1;"Gold";2;"Silver";3;"Bronze";"")Chloe ed Eve sono arrivate fuori dai primi tre posti, quindi ricevono il valore predefinito, un testo vuoto. Quando i codici sono 1, 2, 3 e così via senza buchi, SCEGLI (in inglese CHOOSE) è più corta, =SCEGLI(B2;"Gold";"Silver";"Bronze"), ma non ha un valore predefinito e restituisce #VALORE! (in inglese #VALUE!) per 4 e oltre.
Esercizio: codici di stato
| A | B | C | |
|---|---|---|---|
| 1 | Invoice | Code | Status |
| 2 | INV-01 | P | |
| 3 | INV-02 | U | |
| 4 | INV-03 | X | |
| 5 | INV-04 | P |
Tocca a te: In C2, trasforma il codice in B2 in una parola con SWITCH: P è "Paid", U è "Unpaid", e qualsiasi altra cosa è "Check". La formula viene copiata fino a C5.
SWITCH, PIÙ.SE e SE annidati a confronto
Tutte e tre restituiscono uno tra più risultati; si differenziano per cosa verificano.
| SWITCH | PIÙ.SE | SE annidati | |
|---|---|---|---|
| Verifica | Una sola espressione, per uguaglianza | Qualsiasi condizione per ogni coppia | Qualsiasi condizione per ogni livello |
| Valore predefinito | Ultimo argomento, facoltativo | Una coppia finale con VERO | Il valore se falso dell'ultimo SE |
| Nessuna corrispondenza, nessun predefinito | #N/D | #N/D | FALSO, se l'ultimo SE non ha se_falso |
| Ripete la cella | No: B2 scritta una volta | Sì: B2="N", B2="S"... | Sì |
| Excel 2016 e precedenti | #NOME? | #NOME? | Funziona |
Usa SWITCH quando una cella o una formula viene confrontata con un elenco di valori fissi (codici, numeri dei giorni della settimana, mesi); è la più corta e calcola l'espressione una volta sola. Usa PIÙ.SE quando ogni test è un confronto diverso o legge celle diverse. Usa i SE annidati quando il file deve aprirsi in Excel 2016 o versioni precedenti. Quando l'elenco dei codici è lungo o cambia spesso, mettilo invece in una tabella a due colonne e cercalo con CERCA.X, così aggiungere un codice significa aggiungere una riga, non modificare ogni formula.
Domande frequenti
Cosa fa la funzione SWITCH in Excel?
Confronta un'espressione con un elenco di valori e restituisce il risultato abbinato al primo valore che corrisponde esattamente. =SWITCH(B2;1;"Gold";2;"Silver";3;"Bronze";"") trasforma una posizione in classifica nel nome di una medaglia e restituisce un testo vuoto per qualsiasi altra posizione.
Perché SWITCH restituisce #N/D?
L'espressione non corrisponde a nessuno dei valori e non c'è un valore predefinito. Aggiungi un altro argomento dopo l'ultima coppia, come "Other", e SWITCH restituisce quello invece di #N/D.
SWITCH può verificare fasce come "maggiore di"?
Non direttamente, perché verifica solo l'uguaglianza. Usa VERO come espressione e dei confronti come valori: =SWITCH(VERO;B2>=90;"A";B2>=80;"B";"F") restituisce il risultato del primo confronto che è VERO.
Esiste la funzione SWITCH in Excel 2016?
Solo nella versione Microsoft 365 di Excel 2016. SWITCH è presente in Excel 2019, Excel 2021, Excel 2024 e Microsoft 365; un Excel 2016 a licenza perpetua o precedente mostra #NOME?, quindi lì usa i SE annidati o SCEGLI.