› Excel e gli applicativi Microsoft Office › Formula convalida dati con più criteri
-
AutoreArticoli
-
Buongiorno a tutti,
la stessa domanda che farò qui l'ho fatta anche sul forum al seguente link:
dove ho avuto l'autorizzazione di un super moderatore per poterla postare altrove (in questo caso qui).
La mia domanda viene spiegato nello specifico all'interno di questo file che troverete in allegato. Se andate nella domanda fatta sul forum, relativa al link indicato sopra, capirete meglio di cosa ho bisogno.
In altre parole avrei bisogno di mettere più criteri in un unico convalida dati --> es. posso compilare la cella A2 solamente se nella cella A1 viene inserito il testo "Ciao", ma con la limitazione che posso indicare solamente numeri decimali. Quindi, se nella cella A1 viene indicato "Ciao", allora nella cella A2 posso indicare qualsiasi numero decimale (solo numeri decimali); ma se nella cella A1 non viene indicato "Ciao", allora non posso inserire nessun dato, neanche un numero decimale.
Spero di essermi spiegato.
Grazie, buona serata e buon anno
Allegati:
You must be logged in to view attached files.Spero di essermi spiegato.
Si'.
L'uso di VBA e' precluso?
Credo che con codice sarebbe piu' semplice (non ho ancora provato. E non ho letto l'altra discussione)Ciao, io non sono per nulla ferrato sulle formule ma credo, almeno per quanto riguarda ciò che hai chiesto:
se nella cella A1 viene indicato "Ciao", allora nella cella A2 posso indicare qualsiasi numero decimale (solo numeri decimali); ma se nella cella A1 non viene indicato "Ciao", allora non posso inserire nessun dato, neanche un numero decimale.
la soluzione potrebbe essere questa:
"A2" > Convalida Dati > Personalizzato > Formula =SE(A1="Ciao";E(VAL.NUMERO(A2);A2<>ARROTONDA(A2;0)))
inoltre togli la spunta su Ignora celle vuote
La formula tradotta sarebbe: Se in A1 è scritta la parola "Ciao" allora valuta se in A2 è presente un numero e intanto questo numero deve essere diverso dall'arrotondamento del numero stesso.
In altre parole se in A2 scrivo 1,4 allora ARROTONDA(A2;0) mi restituisce 1 perché arrotonda all'intero più prossimo che sarebbe 1. Quindi vuol dire che in A2 c'è un numero decimale perché 1,4 è <> 1
Al contrario se scrivo soltanto 1 allora ARROTONDA(A2;0) mi restituisce 1 e quindi 1 non è <> 1 perciò non è un numero decimale
L'uso di VBA e' precluso? Credo che con codice sarebbe piu' semplice (non ho ancora provato. E non ho letto l'altra discussione)
Per adesso preferirei le formule Excel, ma nel caso in cui non si trovasse una soluzione potrei utilizzare VBA. Grazie.
In altre parole se in A2 scrivo 1,4 allora ARROTONDA(A2;0) mi restituisce 1 perché arrotonda all'intero più prossimo che sarebbe 1. Quindi vuol dire che in A2 c'è un numero decimale perché 1,4 è <> 1
Scusatemi, ho invertito i termini, mi sono confuso. Sarebbe da sostituire la parola "decimale" con "intero" e quindi quello che voglio è questo:
Avrei bisogno di mettere più criteri in un unico convalida dati --> es. posso compilare la cella A2 solamente se nella cella A1 viene inserito il testo "Ciao", ma con la limitazione che posso indicare solamente numeri interi. Quindi, se nella cella A1 viene indicato "Ciao", allora nella cella A2 posso indicare qualsiasi numero intero (solo numeri interi); ma se nella cella A1 non viene indicato "Ciao", allora non posso inserire nessun dato, neanche un numero intero. E se viene inserito un numero decimale o qualsiasi altra cosa, dovrebbe dare errore come fa di solito quando viene inserito un dato che non rispecchia anche solo uno dei criteri indicati nella formula del convalida dati.
Questo è quello che a me servirebbe effettivamente (le celle evidenziato di rosso sono quelle che non si possono applicare in quanto non rispecchiano anche solo uno dei criteri richiesti dalla formula inserita nel convalida dati (opzione "Personalizzato"):

Scusate per l'errore e grazie per la pazienza
Ciao @alexandru339
ora non ho modo di verificare ma hai provato semplicemente a modificare la formula così:
=SE(A1="Ciao";E(VAL.NUMERO(A2);A2=ARROTONDA(A2;0)))
Funziona benissimo, grazie mille. Per far si che mi metta solo numeri e non testo utilizzo questa formula:
=Valore(A2), così che mi dia il messaggio d'errore se non viene inserito un numero (che sia intero o meno).
Grazie ancora e buona serata
Buongiorno,
ho riaperto la domanda perché mi servirebbe sapere come posso invece, sempre tramite formula all'interno del convalida dati, che va bene immettere qualsiasi dato --> non importa che sia un numero o un testo.
Grazie
Ciao, puoi essere più chiaro. Almeno io non ho compreso bene la tua domanda.
Allora:
utilizzando la formula che mi ha proposto in precedenza ( =SE(A1="Ciao";E(VAL.NUMERO(A2);A2=ARROTONDA(A2;0))) ) mi da la possibilità di inserire solamente numeri e non testo quando la cella "A1" ha come dato "Ciao". Come posso dire che, se viene indicato invece es. "Domani", posso inserire anche il testo oltre al numero? Vorrei anche dire che, se possibile, se nella cella non viene indicato "Ciao" oppure "Domani" di impedire qualsiasi dato.
Ho provato questo e sembra funzionare. Dite che va bene? O si potrebbe migliorare?
=SE($A1="Tx";E(VAL.NUMERO($A2);$A2=ARROTONDA($A2;0));SE($A2="Fattura";$A2<>0;Vuoto))
Prova a vedere se questa funziona:
=SE(A1="Ciao";E(VAL.NUMERO(A2);A2=ARROTONDA(A2;0));SE(A1="Domani";VERO;FALSO))
Funziona. Non c'avevo pensato al VERO e FALSO. Molto meglio. Grazie mille.
Buona giornata
-
AutoreArticoli
