Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Convalida condizionata

2,601 views
Skip to first unread message

a.ca...@gmail.com

unread,
Aug 28, 2007, 11:11:49 AM8/28/07
to
Salve a tutti. Potete aiutarmi con un problema di convalida
condizionata?
Supponiamo di avere un elenco formato da 2 colonne, di questo tipo

Gruppo Dettaglio
X X1
X X2
X X3
X X4
Y Y1
Y Y2
Y Y3
Z Z1
Z Z2

Quello che voglio fare è condizionare la convalida di due celle,
diciamo A1 e B1, in cui in A1 posso scegliere solo uno tra i valori
distinti della colonna "Gruppo", ovvero dovrebbe comparirmi un elenco
a discesa con i soli valori X, Y e Z, e in B1 devo poter scegliere
solo tra i dettagli dipendentemente dalla selezione fatta in A1,
ovvero se in A1 ho scelto il valore "A", in B1 dovrebbe comparire
l'elenco a discesa X1, X2, X3 e X4, mentre se ho scelto in A1 "Y"
dovrebbe comparire l'elenco Y1, Y2 e Y3.

Ringrazio in anticipo per ogni contributo.

Alessio

giovanna

unread,
Aug 28, 2007, 2:18:29 PM8/28/07
to
Il 28/08/2007, a.ca...@gmail.com ha detto :

ciao Alessio,
ti serve una "convalida doppia".
- Definisci prima un nome per l'elenco A: menu Inserisci>
nome>definisci
nome :: elencoA
riferito a:: intervallo del foglio in cui hai digitato l'elenco univoco
es: =Foglio!$G$1:$G$10
- ora devi definire i nomi per ciascun dettaglio: per il gruppo X darai
il nome "X"
per i dettagli gr.Y darai "Y" e così per gli altri.(nomi senza le
virgolette)
In colonna A : menu Dati>Convalida,
consenti elenco, origine:: =elencoA
in colonna B:
Convalida, consenti Elenco, origine:: =INDIRETTO(A1)
Puoi vedere anche:
http://www.prodomosua.eu/zips/convalida.xls
http://www.prodomosua.eu/zips/convalidadoppia.xls

--
ciao
giovanna
.......................
www.riolab.org
.........................


elby

unread,
Aug 28, 2007, 3:03:44 PM8/28/07
to

Ciao Alessio
Hai bisogno di 2 colonne di appoggio con formule matriciali che
debbono costituire gli elenchi di convalida:
Per semplificare le formule devi assegnare un nome agli intervalli;
nell'esempio seguente Dati per il tuo Gruppo e Dati1 per il tuo
Dettaglio

In una prima colonna di appoggio ( dove vuoi ), per avere i dati unici
della tua prima colonna, dopo aver selezionato un numero di celle
uguale a quello delle righe della prima colonna, inserisci la formula
matriciale:

=INDICE(Dati;PICCOLO(SE(CONFRONTA(Dati;Dati;
0)=RIF.RIGA(INDIRETTO("1:"&RIGHE(Dati)));CONFRONTA(Dati;Dati;
0);"");RIF.RIGA(INDIRETTO("1:"&RIGHE(Dati)))))

N.B. la formula funziona solo se l'elenco non ha celle vuote
Denomina l'intervallo di questa colonna di appoggio DatiUnici e
assegna la convalida della cella A1 a questo elenco ( ci saranno un
certo numero di #Num sotto i valori di interesse, ma l'eliminazione di
questi renderebbe la formula molto più complessa )

In una seconda colonna di appoggio ( dove vuoi ) , dopo aver
selezionato un numero di celle uguale a quello delle righe della prima
colonna inserisci la formula matriciale:
=SE(VAL.ERR(PICCOLO(SE(SE((SINISTRA(Dati1;1)=$A
$1);Dati1;"")<>"";RIF.RIGA(INDIRETTO("1:"&RIGHE(Dati1))));RIF.RIGA(INDIRETTO("1:"&RIGHE(Dati1)))));"";INDICE(SE((SINISTRA(Dati1;1)=
$A$1);Dati1;"");PICCOLO(SE(SE((SINISTRA(Dati1;1)=$A
$1);Dati1;"")<>"";RIF.RIGA(INDIRETTO("1:"&RIGHE(Dati1))));RIF.RIGA(INDIRETTO("1:"&RIGHE(Dati1))))))

Denomina l'intervallo di questa colonna di appoggio per es
GruppoDiDettaglio e assegna la convalida della cella A2 a questo
elenco

Il tutto sembra funzionare anche con gruppi discontinui del tipo:

x x1
y y1
x x2
z z1
y y2


e con l'aggiunta di righe vuote al di sopra degli intervalli dei dati

Ciao Elio

a.ca...@gmail.com

unread,
Aug 30, 2007, 6:08:21 AM8/30/07
to
Ciao, Giovanna, grazie. In effetti funziona, ma nel mio caso risulta
di difficile applicazione perchè gli elenchi effettivi sono molto
numerosi e, soprattutto, sono soggetti a variazioni periodiche, e la
manutenzione in tal caso sarebbe complessa.
Grazie in ogni caso per la dritta, ciao.

Alessio

On 28 Ago, 20:18, giovanna <giovannarc...@asiatiscali.it> wrote:
> Il 28/08/2007, a.cami...@gmail.com ha detto :
>
>
>
>
>
> > Salve a tutti. Potete aiutarmi con un problema diconvalida> condizionata?

> .........................- Nascondi testo tra virgolette -
>
> - Mostra testo tra virgolette -


a.ca...@gmail.com

unread,
Aug 30, 2007, 6:14:43 AM8/30/07
to
Ciao Elby.
Ho provato a seguire le tue indicazioni, ma ho un problema. Cercando
di inserire la prima formula, io ho definito i nomi come dici, poi ho
selezionato un numero di celle libere, in una colonna vuota diversa da
quella su cui sono i dati (diciamo che i dati sono nell'area A2:B10,
ho selezionato l'area C2:C10), e ho copiato e incollato la tua formula
nell'area di inserimento delle formule. Così facendo, ho ottenuto la
valorizzazione solo della cella C2 con il valore X, e nulla nelle
altre celle. Copiando la formula nelle celle sottostanti, ho ottenuto
la lista
X
X
X
X
#VALORE
#VALORE
#VALORE
#VALORE
#VALORE

Sbaglio forse nella modalità di inserimento di una formula matriciale,
che deve essere definita in modo particolare?

Ti ringrazio dell'aiuto, ciao.

Alessio


On 28 Ago, 21:03, elby <elibu...@tin.it> wrote:
> On 28 Ago, 17:11, a.cami...@gmail.com wrote:
>
>
>
>
>

> > Salve a tutti. Potete aiutarmi con un problema diconvalida> condizionata?

> $1);Dati1;"")<>"";RIF.RIGA(INDIRETTO("1:"&RIGHE(Dati1))));RIF.RIGA(INDIRETT­O("1:"&RIGHE(Dati1)))));"";INDICE(SE((SINISTRA(Dati1;1)=


> $A$1);Dati1;"");PICCOLO(SE(SE((SINISTRA(Dati1;1)=$A

> $1);Dati1;"")<>"";RIF.RIGA(INDIRETTO("1:"&RIGHE(Dati1))));RIF.RIGA(INDIRETT­O("1:"&RIGHE(Dati1))))))


>
> Denomina l'intervallo di questa colonna di appoggio per es
> GruppoDiDettaglio e assegna la convalida della cella A2 a questo
> elenco
>


> Il tutto sembra funzionare anche con gruppi discontinui del tipo:
>
> x x1
> y y1
> x x2
> z z1
> y y2
>
> e con l'aggiunta di righe vuote al di sopra degli intervalli dei dati
>

> Ciao Elio- Nascondi testo tra virgolette -

a.ca...@gmail.com

unread,
Aug 30, 2007, 6:20:51 AM8/30/07
to
Mi rispondo da solo: la formula matriciale va inserita con CTRL+MAIUSC
+INVIO.

Grazie ancora.

Alessio

On 28 Ago, 21:03, elby <elibu...@tin.it> wrote:

> On 28 Ago, 17:11, a.cami...@gmail.com wrote:
>
>
>
>
>

> > Salve a tutti. Potete aiutarmi con un problema diconvalida> condizionata?

> $1);Dati1;"")<>"";RIF.RIGA(INDIRETTO("1:"&RIGHE(Dati1))));RIF.RIGA(INDIRETT­O("1:"&RIGHE(Dati1)))));"";INDICE(SE((SINISTRA(Dati1;1)=


> $A$1);Dati1;"");PICCOLO(SE(SE((SINISTRA(Dati1;1)=$A

> $1);Dati1;"")<>"";RIF.RIGA(INDIRETTO("1:"&RIGHE(Dati1))));RIF.RIGA(INDIRETT­O("1:"&RIGHE(Dati1))))))


>
> Denomina l'intervallo di questa colonna di appoggio per es
> GruppoDiDettaglio e assegna la convalida della cella A2 a questo
> elenco
>
> Il tutto sembra funzionare anche con gruppi discontinui del tipo:
>
> x x1
> y y1
> x x2
> z z1
> y y2
>
> e con l'aggiunta di righe vuote al di sopra degli intervalli dei dati
>

0 new messages