Lasciare invariato il valore di una cella se una condizione è falsa

Durante l’utilizzo della funzione SE, Vincenzo vorrebbe mantenere il vecchio valore nella cella se la condizione è falsa. In altre parole, il valore di una cella in cui viene utilizzata la funzione SE dovrebbe cambiare solo se la condizione verificata dalla funzione SE è vera. Per impostazione predefinita, tuttavia, la funzione SE imposta il valore 0 se la condizione è False.

La funzione SE può richiedere fino a tre parametri. Il primo parametro è il confronto da effettuare, il secondo parametro è ciò che deve essere restituito se il confronto è vero e il terzo è ciò che deve essere restituito se il confronto è falso. È possibile omettere l’ultimo parametro, ma se lo fai, Excel restituirà il valore 0 se il confronto è falso (questo è ciò che Vincenzo vede restituito dal suo utilizzo della funzione SE).

La soluzione ovvia, quindi, è assicurarsi di fornire alla funzione SE qualcosa che dovrebbe essere restituito quando il confronto è falso. Ad esempio, supponiamo che la tua formula sia nella cella B1 e stai confrontando qualcosa nella cella A1. La formula che usi potrebbe assomigliare a questa:

=SE(A1<10;"inferiore a 10";B1)

Si noti che le parole “inferiore a 10” vengono restituite se il valore in A1 è inferiore a 10. Se questa condizione non viene soddisfatta, viene restituito il valore in B1. Poiché questa formula è nella cella B1, ciò significa che il valore precedente nella cella viene restituito se la condizione è falsa.

Significa anche che la formula contiene un riferimento circolare. Affinché i riferimenti circolari funzionino correttamente, è necessario far sapere a Excel che è OK che si verifichino nel foglio di lavoro. Se utilizzi Excel 2010 o una versione successiva, segui questi passaggi:

  1. Visualizza la scheda File della barra multifunzione e quindi fai clic su Opzioni. Excel visualizza la finestra di dialogo Opzioni di Excel.
  2. Sul lato sinistro della finestra di dialogo, scegli Formule.
  3. Assicurati che la casella di controllo Attiva calcolo iterativo sia selezionata.
  4. Fai clic su OK.
Lasciare invariato il valore di una cella se una condizione è falsa 1

Se non vuoi consentire un riferimento circolare nel foglio di lavoro, l’unica risorsa è creare una macro che aggiorni il valore nella cella B1 in base a eventuali modifiche alla cella A1:

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

Questa semplice macro, quando viene aggiunta al modulo Questa_cartella_di_lavoro, viene eseguita ogni volta che viene apportata una modifica alla cartella di lavoro. Se il valore nella cella A1 viene modificata (solo quella cella), il valore viene controllato per vedere se è inferiore a 10. Se lo è, il valore nella cella B1 viene modificato. In caso contrario, il valore nella cella B1 viene lasciato invariato.

C’è una “fregatura” che devi tenere a mente con uno qualsiasi degli approcci discussi finora, formula o macro. Se il valore nella cella A1 è (ad esempio) 15, la cella B1 conterrà ciò che c’era prima, qualunque cosa fosse. Se modifichi il valore nella cella A1 in (ad esempio) 7, B1 cambierà in “inferiore a 10”. Va bene, ma da quel momento in poi la cella B1 non sembrerà mai cambiare. Come mai? Perché se si modifica la cella A1 con un valore maggiore di 10, la cella B1 conterrà (come appena spiegato) ciò che c’era prima. E, come ora capisci, il valore che c’era prima è “inferiore a 10”. Pertanto, vera o falsa, la formula o la macro da questo punto in poi visualizzerà il testo “inferiore a 10”.

Tags: , , , , ,

Ti è stato utile?