Sommario
L'esercitazione spiega cos'è ISNUMBER in Excel e fornisce esempi di utilizzo di base e avanzato.
Il concetto della funzione ISNUMERO in Excel è molto semplice: si limita a verificare se un dato valore è un numero o meno. È importante sottolineare che gli usi pratici della funzione vanno ben oltre il suo concetto di base, soprattutto quando viene combinata con altre funzioni all'interno di formule più ampie.
Funzione ISNUMBER di Excel
La funzione ISNUMBER di Excel controlla se una cella contiene o meno un valore numerico e appartiene al gruppo delle funzioni IS.
La funzione è disponibile in tutte le versioni di Excel per Office 365, Excel 2019, Excel 2016, Excel 2013, Excel 2010, Excel 2007 e inferiori.
La sintassi ISNUMBER richiede un solo argomento:
=ISNUMERO(valore)
Dove valore è il valore che si vuole verificare. Di solito è rappresentato da un riferimento di cella, ma si può anche fornire un valore reale o annidare un'altra funzione all'interno di ISNUMBER per verificare il risultato.
Se valore è numerico, la funzione restituisce VERO. Per tutto il resto (valori di testo, errori, spazi vuoti) ISNUMBER restituisce FALSO.
A titolo di esempio, testiamo i valori nelle celle da A2 a A6 e scopriremo che i primi tre valori sono numeri e gli ultimi due sono testo:
2 cose da sapere sulla funzione ISNUMBER in Excel
Ci sono un paio di punti interessanti da notare:
- Nella rappresentazione interna di Excel, date e tempi sono valori numerici, quindi la formula ISNUMBER restituisce VERO per essi (vedere B3 e B4 nella schermata precedente).
- Per i numeri memorizzati come testo, la funzione ISNUMBER restituisce FALSE (vedere questo esempio).
Esempi di formula ISNUMBER di Excel
Gli esempi seguenti mostrano alcuni usi comuni e un paio di usi non banali di ISNUMBER in Excel.
Controlla se un valore è un numero
Quando nel foglio di lavoro sono presenti diversi valori e si desidera sapere quali sono numeri, la funzione ISNUMBER è quella giusta da utilizzare.
In questo esempio, il primo valore si trova in A2, quindi utilizziamo la formula seguente per controllarlo e poi trasciniamo la formula in tutte le celle necessarie:
=ISNUMERO(A2)
Si noti che, sebbene tutti i valori sembrino numeri, la formula ISNUMBER ha restituito FALSE per le celle A4 e A5, il che significa che tali valori sono stringhe numeriche I motivi possono essere diversi, ad esempio gli zeri iniziali, l'apostrofo precedente, ecc. Qualunque sia il motivo, Excel non riconosce tali valori come numeri. Pertanto, se i valori non vengono calcolati correttamente, la prima cosa da verificare è se sono davvero numeri in termini di Excel, e quindi convertire il testo in numero se necessario.
Formula di ricerca ISNUMERO di Excel
Oltre a identificare i numeri, la funzione ISNUMERO di Excel può anche verificare se una cella contiene un testo specifico come parte del contenuto. A tale scopo, utilizzate ISNUMERO insieme alla funzione CERCA.
Nella forma generica, la formula si presenta come segue:
ISNUMBER(SEARCH( sottostringa , cella ))Dove sottostringa è il testo che si vuole trovare.
Ad esempio, verifichiamo se la stringa in A3 contiene un colore specifico, ad esempio il rosso:
=ISNUMERO(RICERCA("rosso", A3))
Questa formula funziona bene per una singola cella, ma poiché la nostra tabella di esempio (vedi sotto) contiene tre colori diversi, scrivere una formula separata per ciascuno di essi sarebbe una perdita di tempo. Invece, faremo riferimento alla cella che contiene il colore di interesse (B2).
=ISNUMBER(SEARCH(B$2, $A3))
Affinché la formula venga copiata correttamente verso il basso e verso destra, assicurarsi di bloccare le coordinate seguenti con il segno $:
- In sottostringa blocca la riga (B$2) in modo che le formule copiate scelgano sempre le sottostringhe della riga 2. Il riferimento alla colonna è relativo perché vogliamo che si adatti a ogni colonna, cioè quando la formula viene copiata in C3, il riferimento alla sottostringa cambia in C$2.
- Nel cella sorgente bloccare la colonna ($A3) in modo che tutte le formule controllino i valori della colonna A.
L'immagine seguente mostra il risultato:
ISNUMBER FIND - formula sensibile alle maiuscole e alle minuscole
Poiché la funzione di RICERCA è senza distinzione tra maiuscole e minuscole Se si desidera una formula che tenga conto delle maiuscole e delle minuscole, utilizzare la funzione TROVA anziché RICERCA.
ISNUMERO(TROVA( sottostringa , cella ))Per il nostro set di dati di esempio, la formula assumerebbe questa forma:
=ISNUMBER(FIND(B$2, $A3))
Come funziona questa formula
La logica della formula è abbastanza ovvia e facile da seguire:
- La funzione CERCA / TROVA cerca la sottostringa nella cella specificata. Se la sottostringa viene trovata, viene restituita la posizione del primo carattere. Se la sottostringa non viene trovata, la funzione produce un errore #VALORE!
- La funzione ISNUMBER la prende da lì ed elabora le posizioni numeriche. Quindi, se la sottostringa viene trovata e la sua posizione viene restituita come numero, ISNUMBER emette TRUE. Se la sottostringa non viene trovata e si verifica un errore #VALUE!, ISNUMBER emette FALSE.
SE formula ISNUMBER
Se si vuole ottenere una formula che produca qualcosa di diverso da VERO o FALSO, utilizzare ISNUMBER insieme alla funzione IF.
Esempio 1. La cella contiene quale testo
Riprendendo l'esempio precedente, si supponga di voler contrassegnare il colore di ogni elemento con una "x", come mostrato nella tabella seguente.
Per fare ciò, è sufficiente inserire la formula di ricerca ISNUMBER all'interno dell'istruzione IF:
=IF(ISNUMBER(SEARCH(B$2, $A3)), "x", "")
Se ISNUMBER restituisce VERO, la funzione IF restituisce "x" (o qualsiasi altro valore fornito al parametro valore_se_vero Se ISNUMBER restituisce FALSE, la funzione IF produce una stringa vuota ("").
Esempio 2. Il primo carattere di una cella è un numero o un testo
Immaginate di lavorare con un elenco di stringhe alfanumeriche e di voler sapere se il primo carattere di una stringa è un numero o una lettera.
Per costruire una formula di questo tipo, sono necessarie 4 funzioni diverse:
- La funzione SINISTRA estrae il primo carattere dall'inizio di una stringa, per esempio nella cella A2:
SINISTRA(A2, 1)
- Poiché SINISTRA appartiene alla categoria delle funzioni di testo, il suo risultato è sempre una stringa di testo, anche se contiene solo numeri. Pertanto, prima di controllare il carattere estratto, è necessario cercare di convertirlo in un numero. A tale scopo, si può utilizzare la funzione VALORE o l'operatore doppio unario:
VALORE(SINISTRA(A2, 1))
o(--SINISTRA(A2, 1))
- La funzione ISNUMBER determina se il carattere estratto è numerico o meno:
ISNUMBER(VALORE(LEFT(A2, 1)))
- In base al risultato di ISNUMBER (VERO o FALSO), la funzione IF restituisce rispettivamente "Numero" o "Lettera".
Supponendo di testare una stringa in A2, la formula completa assume questa forma:
=IF(ISNUMBER(VALUE(LEFT(A2, 1)), "Numero", "Lettera")
o
=IF(ISNUMBER(--LEFT(A2, 1)), "Numero", "Lettera")
La funzione ISNUMBER è utile anche per estrarre i numeri Ecco un esempio: ottenere un numero da qualsiasi posizione in una stringa.
Controlla se un valore non è un numero
Sebbene Microsoft Excel disponga di una funzione speciale, ISNONTEXT, per determinare se il valore di una cella non è un testo, manca una funzione analoga per i numeri.
Una soluzione semplice consiste nell'utilizzare ISNUMBER in combinazione con NOT che restituisce l'opposto di un valore logico. In altre parole, quando ISNUMBER restituisce VERO, NOT lo converte in FALSO e viceversa.
Per vederlo in azione, osservate i risultati della seguente formula:
=NOT(ISNUMBER(A2))
Un altro approccio consiste nell'utilizzare insieme le funzioni IF e ISNUMBER:
=IF(ISNUMBER(A2), "", "Non numero")
Se A2 è numerico, la formula non restituisce nulla (una stringa vuota). Se A2 non è numerico, la formula lo dice subito: "Non è un numero".
Se si desidera eseguire dei calcoli con i numeri, si può inserire un'equazione o un'altra formula nel campo valore_se_vero invece di una stringa vuota. Ad esempio, la formula seguente moltiplica i numeri per 10 e restituisce "Non numero" per i valori non numerici:
=IF(ISNUMBER(A2), A2*10, "Non numero")
Controlla se un intervallo contiene un numero qualsiasi
Quando si desidera testare l'intero intervallo di numeri, utilizzare la funzione ISNUMBER in combinazione con SUMPRODUCT, in questo modo:
SUMPRODUCT(--ISNUMBER( gamma ))>0 SUMPRODUCT(ISNUMERO( gamma )*1)>0Ad esempio, per scoprire se l'intervallo A2:A5 contiene un valore numerico, le formule sono le seguenti:
=SUMPRODOTTO(--ISNUMERO(A2:A5))>0
=SUMPRODOTTO(ISNUMERO(A2:A5)*1)>0
Se si desidera ottenere "Sì" e "No" invece di VERO e FALSO, utilizzare l'istruzione IF come "involucro" per le formule precedenti. Ad esempio:
=IF(SUMPRODOTTO(--ISNUMERO(A2:A5))>0, "Sì", "No")
Come funziona questa formula
Al centro della formula, la funzione ISNUMBER valuta ogni cella dell'intervallo specificato, ad esempio B2:B5, e restituisce VERO per i numeri, FALSO per tutto il resto. Poiché l'intervallo contiene 4 celle, la matrice ha 4 elementi:
{VERO;FALSO;FALSO;FALSO;FALSO}
L'operazione di moltiplicazione o il doppio unario (--) costringe TRUE e FALSE rispettivamente in 1 e 0:
{1;0;0;0}
La funzione SUMPRODUCT somma gli elementi della matrice. Se il risultato è maggiore di zero, significa che c'è almeno un numero nell'intervallo. Quindi, si usa ">0" per ottenere un risultato finale di VERO o FALSO.
ISNUMBER nella formattazione condizionale per evidenziare le celle che contengono un determinato testo
Se si desidera evidenziare celle o intere righe che contengono un testo specifico, creare una regola di formattazione condizionale basata sulla formula CERCA NUMERO (senza distinzione tra maiuscole e minuscole) o TROVA NUMERO (senza distinzione tra maiuscole e minuscole).
In questo esempio, evidenzieremo le righe in base al valore della colonna A. Più precisamente, evidenzieremo gli elementi che contengono la parola "rosso". Ecco come fare:
- Selezionare tutte le righe di dati (A2:C6 in questo esempio) o solo la colonna in cui si desidera evidenziare le celle.
- Sul Casa nella scheda Stili gruppo, fare clic su Nuova regola > Utilizzate una formula per determinare quali celle formattare .
- Nel Formatta i valori in cui questa formula è vera inserire la formula seguente (notare che la coordinata della colonna è bloccata con il segno $):
=ISNUMBER(SEARCH("rosso", $A2))
- Fare clic sul pulsante Formato e scegliere il formato desiderato.
- Fare clic due volte su OK.
Se avete poca esperienza con la formattazione condizionale di Excel, potete trovare i passaggi dettagliati con le schermate in questa esercitazione: Come creare una regola di formattazione condizionale basata su una formula.
Di conseguenza, tutti gli elementi di colore rosso vengono evidenziati:
Invece di "codificare" il colore nella regola di formattazione condizionale, è possibile digitarlo in una cella predefinita, ad esempio E2, e fare riferimento a tale cella nella formula (tenere presente il riferimento assoluto alla cella $E$2). Inoltre, è necessario verificare che la cella di input non sia vuota:
=E(ISNUMBER(SEARCH($E$2, $A2)), $E$2"")
Il risultato è una regola più flessibile che evidenzia le righe in base a quanto inserito in E2:
Ecco come utilizzare la funzione ISNUMERO in Excel. Vi ringrazio per la lettura e spero di vedervi sul nostro blog la prossima settimana!
Download disponibili
Esempi di formula ISNUMBER di Excel