Formula generica
=REPT("message",logical test)
Sommario
Per visualizzare un messaggio condizionale, senza la funzione IF, è possibile utilizzare la logica booleana e la funzione REPT. Nell'esempio mostrato, la formula in D5 (copiata verso il basso) è:
=REPT("low",C5<100)
Se il valore nella colonna C è inferiore a 100, la formula restituisce "basso". In caso contrario, la formula restituisce una stringa vuota (""), che assomiglia a una cella vuota.
Spiegazione
Questa formula utilizza la logica booleana per produrre un messaggio condizionale. Se il valore nella colonna C è inferiore a 100, la formula restituisce "basso". In caso contrario, la formula restituisce una stringa vuota ("").
La logica booleana è una tecnica per gestire valori TRUE e FALSE come 1 e 0. Nella cella C5, la formula viene valutata in questo modo:
=REPT("low",C5<100) =REPT("low",TRUE) =REPT("low",1) ="low"
In altre parole, se C5 <100, uscita "bassa" 1 volta. Nella cella C6, la formula viene valutata in questo modo:
=REPT("low",C6<100) =REPT("low",FALSE) =REPT("low",0) =""
In altre parole, se C6 <100 è FALSE, emette zero volte "basso".
Alternativa alla funzione SE
I messaggi condizionali come questo sono più comunemente gestiti con la funzione IF. Con IF, la formula equivalente è:
=IF(C5<100,"low","")
Entrambe le formule restituiscono esattamente lo stesso risultato, ma la versione REPT è un po 'più semplice.
Estendere la logica
La logica booleana può essere estesa con semplici operazioni matematiche per gestire scenari più complessi. In breve, la logica AND può essere espressa con moltiplicazione (*) OR la logica può essere espressa con addizione (+). Ad esempio, per restituire "basso" solo quando (count <100) AND (day = Monday) possiamo usare la logica booleana in questo modo:
=REPT("low",(C5<100)*(B5="Monday"))
La formula IF equivalente è:
=IF(C5<100,IF(B5="Monday","low",""),"")
oppure, semplificando un po 'con AND:
=IF(AND(C5<100,B5="Monday"),"low","")
Coercizione TRUE e FALSE a 1 e zero
Quando si utilizza la logica booleana, a volte è necessario forzare Excel a forzare TRUE e FALSE su 1 e zero. Un modo semplice per farlo è usare un doppio negativo (-).