Formula Excel: convalida l'input con il segno di spunta -

Sommario

Formula generica

=IF(logical_test,"P","")

Sommario

Per visualizzare un segno di spunta se un valore è "consentito" in base a un elenco esistente di valori consentiti, è possibile utilizzare una formula basata sulla funzione SE insieme alla funzione CONTA.SE. Nella mostra di esempio, la formula in C5 è:

=IF(COUNTIF(allowed,B5),"✓","")

dove consentito è l'intervallo denominato E5: E9.

Spiegazione

Questa formula è un buon esempio di nidificazione di una funzione all'interno di un'altra. Fondamentalmente, questa formula utilizza la funzione IF impostata per restituire un segno di spunta (✓) quando un test logico restituisce TRUE:

=IF(logical_test,"✓","")

Se il test restituisce FALSE, la formula restituisce una stringa vuota (""). Per il test logico, stiamo usando la funzione CONTA.SE in questo modo:

COUNTIF(allowed,B5)

CONTA.SE conta le occorrenze del valore in B5 nell'intervallo denominato consentito (E5: E9). Questo può sembrare "al contrario" per te, ma se ci pensi, ha senso. Se il valore in B5 si trova nell'elenco dei valori consentiti, CONTA.SE restituirà un numero positivo (in questo caso 1). In caso contrario, CONTA.SE restituirà zero. Excel valuterà qualsiasi numero diverso da zero come VERO, quindi funziona perfettamente come test logico per SE.

IF restituirà TRUE solo se il valore si trova nell'elenco consentito e, in tal caso, il risultato finale è un segno di spunta (✓). Se il valore non viene trovato nell'elenco consentito, CONTA.SE restituisce zero, che viene valutato come FALSO. In tal caso, il risultato finale è una stringa vuota (""), che non visualizza nulla.

Con valori fissi

L'esempio sopra mostra i valori consentiti in un intervallo di celle, ma i valori consentiti possono anche essere codificati nelle formule come una costante di matrice come questa:

=IF(COUNTIF(("red","blue","green"),B5),"✓","")

Segno di spunta (✓)

L'inserimento di un segno di spunta in Excel può essere sorprendentemente impegnativo e troverai molti articoli su Internet che spiegano vari approcci. Il modo più semplice per ottenere il segno di spunta (✓) utilizzato in questa formula in Excel è semplicemente copiarlo e incollarlo. Se stai copiando da questa pagina web, incollalo nella barra della formula per evitare di trascinare la formattazione indesiderata. Puoi anche copiare e incollare direttamente dal foglio di lavoro allegato.

Se hai problemi con il copia e incolla, prova questa variante. Il carattere stesso è Unicode 2713 (U + 2713) e può anche essere inserito in Excel con la funzione UNICHAR in questo modo:

=UNICHAR(10003) // returns "✓"

Quindi, la formula originale può essere scritta in questo modo:

=IF(COUNTIF(allowed,B5),UNICHAR(10003),"")

Nota: la funzione UNICHAR è stata introdotta in Excel 2013.

Estendendo la formula

L'idea di base in questa formula può essere estesa in molti modi intelligenti. Ad esempio, lo screenshot seguente mostra una formula che restituisce un segno di spunta solo quando tutti i punteggi dei test sono almeno 65:

La formula in G5 è:

=IF(NOT(COUNTIF(B5:F5,"<65")),"✓","")

La funzione NOT inverte il risultato da COUNTIF. Se trovi questo confuso, puoi alternativamente ristrutturare la formula IF in questo modo:

=IF(COUNTIF(B5:F5,"<65"),"","✓")

Nella versione della formula, la logica è più simile alla formula originale sopra. Tuttavia, abbiamo spostato il segno di spunta sull'argomento value_if_false, quindi il segno di spunta apparirà solo se il conteggio da COUNTIF è zero. In altre parole, il segno di spunta apparirà solo quando non vengono trovati valori inferiori a 65.

Nota: è anche possibile utilizzare la formattazione condizionale per evidenziare un input valido o non valido e la convalida dei dati per limitare l'input in modo da consentire solo dati validi.

Articoli interessanti...