Formula Excel: Verifica se una cella contiene uno tra diversi valori ma esclude altri valori
Supponendo che ci siano due elenchi di valori, vuoi verificare se la cella B3 contiene uno dei valori nell'intervallo E3:E5, ma allo stesso tempo non contiene nessuno dei valori nell'intervallo F3:F4 come mostrato nello screenshot sottostante. Questo tutorial fornirà una formula per gestire rapidamente questo compito in Excel e spiegherà gli argomenti della formula.
Formula generica:
=(SOMMAPRODOTTO(--VAL.NUMERO(CERCA(include;testo)))>0) *(SOMMAPRODOTTO(--VAL.NUMERO(CERCA(exclude;testo)))=0) |
Argomenti
Testo: la stringa di testo che desideri controllare. |
Includere: i valori che vuoi verificare se l'argomento testo contiene. |
Escludere: i valori che vuoi verificare se l'argomento testo non contiene. |
Valore restituito:
La formula restituisce 1 o 0. Quando la cella contiene uno dei valori da includere e non contiene alcun valore da escludere, restituisce 1, altrimenti restituisce 0. In questa formula, 1 e 0 sono trattati come valori logici VERO e FALSO.
Come funziona questa formula
Supponendo che tu voglia verificare se la cella B3 contiene uno dei valori nell'intervallo E3:E5, ma contemporaneamente escludere i valori nell'intervallo F3:F4, utilizza la seguente formula
=(SOMMAPRODOTTO(--VAL.NUMERO(CERCA($E$3:$E$5;B3)))>0)*(SOMMAPRODOTTO(--VAL.NUMERO(CERCA($F$3:$F$4;B3)))=0) |
Premi Invio per ottenere il risultato del controllo.
Spiegazione
Parte 1: (SOMMAPRODOTTO(--VAL.NUMERO(CERCA($E$3:$E$5;B3)))>0) verifica se la cella contiene valori in E3:E5
CERCA function: la funzione CERCA restituisce la posizione del primo carattere della stringa di testo all'interno di un'altra. Se la funzione CERCA trova il testo corrispondente, restituisce la posizione relativa, altrimenti restituisce un errore #VALORE!. Ad esempio, qui la formula CERCA($E$3:$E$5;B3) cercherà ciascun valore dell'intervallo E3:E5 nella cella B3 e restituirà la posizione di ciascuna stringa di testo nella cella B3. Restituirà un risultato di array come questo: {1;7;12}.
Funzione VAL.NUMERO: la funzione VAL.NUMERO restituisce VERO quando una cella è un numero. Quindi VAL.NUMERO(CERCA($E$3:$E$5;B3)) restituirà un risultato di array come {vero,vero,vero} poiché la funzione CERCA trova 3 numeri.
--VAL.NUMERO(CERCA($E$3:$E$5;B3)) converte il valore VERO in 1 e il valore FALSO in 0, quindi questa formula cambia il risultato dell'array in {1;1;1}.
SOMMAPRODOTTO function: viene utilizzata per moltiplicare intervalli o sommare array insieme e restituire la somma dei prodotti. La funzione SOMMAPRODOTTO(--VAL.NUMERO(CERCA($E$3:$E$5;B3))) restituisce 1+1+1=3.
Infine, confronta la formula a sinistra SOMMAPRODOTTO(--VAL.NUMERO(CERCA($E$3:$E$5;B3))) con 0, fintanto che il risultato della formula a sinistra è maggiore di 0, il risultato sarà VERO, altrimenti restituirà FALSO. Qui restituisce VERO.
Parte 2: (SOMMAPRODOTTO(--VAL.NUMERO(CERCA($F$3:$F$4;B3)))=0) verifica se la cella non contiene valori in F3:F4
La formula CERCA($F$3:$F$4;B3) cercherà ciascun valore nell'intervallo E3:E5 nella cella B3 e restituirà la posizione di ciascuna stringa di testo nella cella B3. Restituirà un risultato di array come questo: {#VALORE!;#VALORE!}.
VAL.NUMERO(CERCA($F$3:$F$4;B3)) restituirà un risultato di array come {falso;falso} poiché la funzione CERCA trova 0 numeri.
--VAL.NUMERO(CERCA($F$3:$F$4;B3)) converte il valore VERO in 1 e il valore FALSO in 0, quindi questa formula cambia il risultato dell'array in {0;0}.
Funzione SOMMAPRODOTTO: viene utilizzata per moltiplicare intervalli o sommare array insieme e restituire la somma dei prodotti. La funzione SOMMAPRODOTTO(--VAL.NUMERO(CERCA($F$3:$F$4;B3))) restituisce 0+0=0.
Infine, confronta la formula a sinistra SOMMAPRODOTTO(--VAL.NUMERO(CERCA($F$3:$F$4;B3))) con 0, fintanto che il risultato della formula a sinistra è uguale a 0, il risultato restituirà VERO, altrimenti restituirà FALSO. Qui restituisce VERO.
Parte 3: Moltiplica le due formule
=(SOMMAPRODOTTO(--VAL.NUMERO(CERCA($E$3:$E$5;B3)))>0)*(SOMMAPRODOTTO(--VAL.NUMERO(CERCA($F$3:$F$4;B3)))=0)
=VERO*VERO
=1
In questa formula, 1 e 0 sono trattati come valori logici VERO e FALSO.
File di esempio
Clicca per scaricare il file di esempio
Formule relative
- Verifica se una cella contiene un testo specifico
Per verificare se una cella contiene alcuni testi nell'intervallo A ma non contiene i testi nell'intervallo B, puoi utilizzare una formula matriciale che combina le funzioni CONTA, CERCA e E in Excel. - Verifica se una cella contiene una delle molte cose
Questo tutorial fornisce una formula per verificare se una cella contiene uno tra diversi valori in Excel, e spiega gli argomenti nella formula e come funziona la formula. - Verifica se una cella contiene una delle cose
Supponendo che in Excel ci sia un elenco di valori nella colonna E, vuoi verificare se le celle nella colonna B contengono tutti i valori nella colonna E e restituire VERO o FALSO. - Verifica se una cella contiene un numero
A volte potresti voler verificare se una cella contiene caratteri numerici. Questo tutorial fornisce una formula che restituirà VERO se la cella contiene un numero, FALSO se la cella non contiene un numero.
Gli strumenti per la produttività di Office migliori
Kutools per Excel - Ti aiuta a distinguerti dalla massa
Kutools per Excel vanta oltre 300 funzionalità, garantendo che ciò di cui hai bisogno sia a portata di clic...
Office Tab - Abilita la lettura e la modifica a schede in Microsoft Office (incluso Excel)
- Un secondo per passare tra decine di documenti aperti!
- Riduce centinaia di clic del mouse ogni giorno, dì addio alla mano del mouse.
- Aumenta la tua produttività del 50% quando visualizzi e modifichi più documenti.
- Porta Schede Efficienti a Office (incluso Excel), proprio come Chrome, Edge e Firefox.