Sommario
L'esercitazione illustra come utilizzare le funzioni ISTEXT e ISNONTEXT in Excel per verificare se una cella contiene o meno un valore testuale.
Ogni volta che si ha bisogno di ottenere informazioni sul contenuto di una cella in Excel, si utilizzano le cosiddette funzioni di informazione. Sia ISTEXT che ISNONTEXT appartengono a questa categoria. La funzione ISTEXT verifica se un valore è un testo e ISNONTEXT verifica se un valore non è un testo. Per quanto semplice sia il concetto, queste funzioni sono incredibilmente utili per risolvere una serie di compiti diversi in Excel.
Funzione ISTEXT di Excel
La funzione ISTEXT di Excel controlla se un valore specificato è un testo o meno. Se il valore è testuale, la funzione restituisce VERO. Per tutti gli altri tipi di dati (come numeri, date, celle vuote, errori, ecc.) restituisce FALSO.
La sintassi è la seguente:
ISTEXT(valore)
Dove valore è un valore, un riferimento di cella, un'espressione o un'altra funzione di cui si vuole verificare il risultato.
Ad esempio, per sapere se un valore in A2 è un testo o meno, utilizzare questa semplice formula:
=ISTEXT(A2)
Funzione ISNONTEXT di Excel
La funzione ISNONTEXT restituisce VERO per qualsiasi valore non testuale, compresi numeri, date e orari, spazi vuoti e altre formule che restituiscono risultati non testuali o errori. Per i valori testuali, restituisce FALSO.
La sintassi è la stessa della funzione ISTEXT:
ISTEXT(valore)
Ad esempio, per verificare se un valore in A2 non è un testo, utilizzare questa formula:
=ISNONTEXT(A2)
Come mostrato nella schermata seguente, le formule ISTEXT e ISNONTEXT danno risultati opposti:
Funzioni ISTEXT e ISNONTEXT in Excel - note d'uso
ISTEXT e ISNONTEXT sono funzioni molto semplici e facili da usare, con le quali è improbabile imbattersi in difficoltà. Detto questo, ci sono alcuni punti chiave da tenere in considerazione:
- Entrambe le funzioni fanno parte del gruppo di funzioni IS che restituiscono i valori logici (booleani) VERO o FALSO.
- In un caso specifico, quando i numeri sono memorizzati come testo ISTEXT restituisce TRUE e ISNONTEXT restituisce FALSE.
- Entrambe le funzioni sono disponibili in tutte le versioni di Excel per Office 365, Excel 2019, Excel 2016, Excel 2013, Excel 2010, Excel 2007, Excel 2003, Excel XP e Excel 2000.
Utilizzo di ISTEXT e ISNONTEXT in Excel - esempi di formule
Di seguito troverete alcuni esempi di utilizzo pratico delle funzioni ISTEXT e ISNONTEXT in Excel che vi aiuteranno a rendere più efficienti i vostri fogli di lavoro.
Controllare se un valore è un testo
A volte, quando si lavora con una serie di valori, si può essere sorpresi di notare che per alcuni numeri le formule restituiscono risultati errati o addirittura errori. Il motivo più ovvio è che i numeri problematici sono memorizzati come testo. Le formule seguenti vi diranno con certezza quali valori sono testo dal punto di vista di Excel.
Formula ISTEXT:
Restituisce VERO per qualsiasi valore che Excel considera testo .
=ISTEXT(B2)
Formula ISNONTEXT:
Restituisce VERO per qualsiasi valore che Excel considera non testo .
=ISNONTEXT(B2)
ISTEXT per la convalida dei dati: consentire solo il testo
In alcune situazioni, si potrebbe voler consentire agli utenti di inserire solo valori di testo in determinate celle. Per ottenere questo risultato, creare una regola di convalida dei dati basata su una formula ISTEXT. Ecco come fare:
- Selezionare una o più celle da convalidare.
- Sul Dati nella scheda Strumenti per i dati fare clic sul gruppo Convalida dei dati pulsante.
- Sul Impostazioni della scheda Convalida dei dati selezionare la finestra di dialogo Personalizzato per i criteri di convalida e inserire la formula ISTEXT nella casella corrispondente.
- Fare clic su OK per salvare la regola.
In questo esempio, convalidiamo le risposte al questionario nelle celle da B2 a B4 con l'aiuto di questa formula:
=ISTEXT(B2:B4)
Inoltre, è possibile configurare il proprio Avviso di errore per spiegare agli utenti che tipo di dati sono accettati:
Di conseguenza, quando l'utente tenta di inserire un numero o una data in una qualsiasi delle celle convalidate, viene visualizzato il seguente avviso:
Per ulteriori informazioni, consultare la sezione Utilizzo della convalida dei dati in Excel.
Formula di Excel IF ISTEXT
In pratica, ISTEXT e ISNONTEXT vengono spesso utilizzati insieme alla funzione IF per ottenere un risultato più semplice rispetto ai normali TRUE e FALSE.
Formula 1. Se è un testo, allora
Riprendendo il nostro primo esempio, supponiamo di voler restituire "Sì" per i valori di testo e "No" per qualsiasi altra cosa. Per farlo, è sufficiente annidare la funzione ISTEXT nel test logico di IF e utilizzare "Sì" e "No" per i parametri valore_se_vero e valore_se_falso rispettivamente:
=IF(ISTEXT(A2), "Sì", "No")
Formula 2. Controllare l'input della cella
In uno degli esempi precedenti, abbiamo discusso come garantire la validità dell'input dell'utente utilizzando la convalida dei dati. Questo può essere fatto anche in forma più "blanda" con l'aiuto di una formula di Excel IF ISTEXT.
Nel questionario, supponiamo di voler determinare quali risposte sono valide (testo) e quali non lo sono (non testo). A tale scopo, utilizzare le istruzioni IF annidate con la seguente logica:
- Se la cella testata è vuota, non restituisce nulla, ovvero una stringa vuota ("").
- Se la cella è un testo, restituisce "Risposta valida".
- Se nessuna delle due opzioni è presente, si dovrà rispondere "Risposta non valida - inserire il testo".
Mettendo insieme tutto questo, si ottiene la seguente formula, dove B2 è la cella da controllare:
=IF(B2="", "", IF(ISTEXT(B2), "Risposta valida", "Risposta non valida - inserire testo"))
Controlla se un intervallo contiene del testo
Finora abbiamo testato ogni singola cella, ma cosa succede se è necessario sapere se una cella qualsiasi di un intervallo contiene del testo?
Per verificare l'intero intervallo, combinare la funzione ISTEXT con SUMPRODUCT in questo modo:
SUMPRODUCT(ISTEXT( gamma )*1)>0 SUMPRODUCT(--ISTEXT( gamma ))>0A titolo di esempio, controlliamo la presenza di valori di testo in ogni riga dell'insieme di dati sottostante, cosa che può essere fatta con le formule seguenti:
=SUMPRODUCT(ISTEXT(A2:C2)*1)>0
=SUMPRODOTTO(--ISTEXT(A2:C2))>0
Una delle formule di cui sopra va nella cella D2 e poi viene trascinata verso il basso fino alla cella D5.
Ora è chiaro quali righe contengono una o più stringhe di testo (VERO) e quali contengono solo numeri (FALSO).
Se si desidera restituire risultati diversi, come "Sì" o "No", invece di VERO e FALSO, racchiudere la formula precedente nell'istruzione IF:
=IF(SUMPRODOTTO(--ISTEXT(A2:C2))>0, "Sì", "No")
Come funziona questa formula
La formula si basa sulla capacità di SUMPRODUCT di gestire in modo nativo gli array. Ecco cosa fa partendo dall'interno:
- La funzione ISTEXT restituisce una matrice di valori VERO e FALSO. Per A2:C2, si ottiene questa matrice:
{VERO, VERO, FALSO}
- Successivamente, moltiplichiamo ogni elemento della matrice di cui sopra per 1 per convertire i valori logici di VERO e FALSO rispettivamente in 1 e 0. Allo stesso scopo si può utilizzare un doppio operatore unario (--). Dopo la trasformazione, la formula assume questa forma:
SUMPRODUCT({1,1,0})>0
- La funzione SUMPRODUCT somma gli 1 e gli 0 e controlla se il risultato è maggiore di zero. Se lo è, l'intervallo contiene almeno un valore di testo e la formula restituisce VERO, altrimenti FALSO.
Controlla se una cella contiene un testo specifico
La funzione ISTEXT di Excel è in grado di determinare solo se una cella contiene del testo, cioè un testo qualsiasi. Per sapere se una cella contiene una stringa di testo specifica, utilizzare la formula RICERCA ISNUMERO o COUNTIF con i caratteri jolly.
Ad esempio, per vedere se l'ID articolo in A2 contiene la stringa di testo immessa nella cella D2, utilizzate la formula seguente (fate attenzione al riferimento assoluto $D$2 che impedisce all'indirizzo della cella di cambiare quando la formula viene copiata in altre celle):
=ISNUMBER(SEARCH($D$2, A2))
Per comodità, lo inseriremo nella funzione IF:
=IF(ISNUMBER(SEARCH($D$2, A2)), "Sì", "No")
E ottenere i seguenti risultati:
Lo stesso risultato può essere ottenuto con COUNTIF:
=IF(COUNTIF(A2, "*"&$D$2& "*")>0, "Sì", "No")
Per ulteriori esempi, consultare Excel Se la cella contiene formule.
Evidenzia le celle che contengono testo
La funzione ISTEXT può essere utilizzata anche con la formattazione condizionale di Excel per evidenziare le celle contenenti valori di testo. Ecco come fare:
- Selezionare tutte le celle che si desidera controllare ed evidenziare (A2:C5 in questo esempio).
- 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:
=ISTEXT(A2)
Dove A2 è la cella più a sinistra dell'intervallo selezionato.
- Fare clic sul pulsante Formato e scegliere la formattazione desiderata.
- Fare clic due volte su OK per chiudere entrambe le finestre di dialogo e salvare la regola.
Per una spiegazione più dettagliata di ciascun passaggio, consultate: Uso delle formule per la formattazione condizionale di Excel.
Come risultato, Excel evidenzia tutte le celle con stringhe di testo:
Ecco come utilizzare le funzioni ISTEXT e ISNONTEXT in Excel. Vi ringrazio per la lettura e spero di vedervi sul nostro blog la prossima settimana!
Download disponibili
Esempi di formule ISTEXT e ISNONTEXT in Excel