Convalida dati con ...
 
Notifiche
Cancella tutti

La consultazione del forum è libera per tutti.

Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).

Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.

Convalida dati con indirizzi di cella dinamici

14 Post
2 Utenti
0 Reactions
1,656 Visualizzazioni
Ariete125
(@ariete125)
Post: 0
New Member
Avviatore di Topic
 

Buongiorno a tutti!

Sono un nuovo utente di questo bel sito dedicato ad Excel.

 

Ho questo problema: in un foglio ho diverse zone di immissione con convalida dati. In queste zone può essere immesso uno dei valori del menu a tendina prelevati dalle celle $AE$8:$AE$37 solamente se il contenuto della cella che funge da intestazione della zona di immissione contiene il testo “Allievo”. Poiché queste zone di immissione occupano tante zone del foglio sia in direzione orizzontale che verticale, per potere ricopiare le zone liberamente ho sfruttato alcune funzioni per avere indirizzi di cella dinamici. Ri_x_Sett = 8, dice quante righe è alta la zona di immissione.

Questa è la formula inserita nel campo Origine nell’impostazione dei criteri di convalida nella colonna C:

=SE(INDIRETTO(INDIRIZZO(RIF.RIGA()-RESTO(RIF.RIGA()-1;Ri_x_Sett);RIF.COLONNA(C$1);2))="Allievo";SCARTO($AE$8;0;0;CONTA.SE($AE$8:$AE$37;">""")+1;1);$AE$1)

Risultato: non funziona. Dove sbaglio?

Notare che se nella zona di convalida inserisco tutta la formula ad esclusione del SE, tutto funziona (ma ovviamente non serve a niente).

 

Invece, se creo una colonna di supporto in D (riferito alla C indicata nella formula sopra), contenente questa formula:

INDIRIZZO(RIF.RIGA()-RESTO(RIF.RIGA()-1;Ri_x_Sett);RIF.COLONNA(C$1);2)

ho come risultato C$9 in D9, C$9 in D10, C$9 in D11 e così via fino a D16. Perfetto, C$9 è l’indirizzo di cella in cui verificare se è presente il testo “Allievo”.

Poi, inserisco nel campo Origine nell’impostazione dei criteri di convalida nella colonna C la seguente formula:

=SE(INDIRETTO(D9)="Allievo";SCARTO($AE$8;0;0;CONTA.SE($AE$8:$AE$37;">""")+1;1);$AE$1)

la convalida dati funziona perfettamente.

Eppure l’indirizzo in D9 viene ricostruito con le medesime funzioni INDIRIZZO; RIF.RIGA e RIF.COLONNA.

Dove sbaglio?

 

Chiedo scusa se non ho allegato il file, ma in questi giorni non riesco ad accedere al PC dove è contenuto. Ho riscritto qui le formule che ho imparato a memoria da quanto ci ho sbattuto la testa.

 

Grazie a chi vorrà aiutarmi.

 

Spero in futuro di potere essere di aiuto anch’io.

 

V.

Versione di Excel
Sistema operativo
 
Postato : 06/10/2021 12:49
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

ciao

il >"" del conta se lascia perplessi

metti

"<>"&""

senza file difficile rispondere

 

allora se C1= Allievo

usi scarto

 

giusto?

 
Postato : 06/10/2021 13:31
Ariete125
(@ariete125)
Post: 0
New Member
Avviatore di Topic
 

@gianfranco55 

 

Anzitutto, grazie della risposta.

Il CONTA.SE con >"" l'ho provato in realtà in tanti altri modi compreso quello che indichi tu, ma senza risultato.

Esatto: se la cella puntata dall'insieme delle funzioni annidate INDIRETTO(INDIRIZZO(RIF.RIGA etc. è = "Allievo", eseguo SCARTO.

 

Grazie dell'interessamento.

V.

 

 
Postato : 06/10/2021 17:00
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

ciao

l'ho provata su un file esempio

funziona

=SE(INDIRETTO(INDIRIZZO(RIF.RIGA()-RESTO(RIF.RIGA()-1;8);RIF.COLONNA(C$1);2))="Allievo";SCARTO($AE$8;0;0;CONTA.SE($AE$8:$AE$37;"<>"&"")+1;1);$AE$1)

 

ma la devi mettere su una colonna

in una convalida non funziona

la convalida con elenco deve avere un range

se la metti in colonna Q per esempio

poi la convalida sarà

=SCARTO(Q5;0;0;CONTA.SE(Q5:Q40;"<>"&""))

e ti renderà 0 oppure la lista

e funzionerà

 

 
Postato : 06/10/2021 22:30
Ariete125
(@ariete125)
Post: 0
New Member
Avviatore di Topic
 

@gianfranco55 

grazie, appena riesco a lavorare sul file provo la tua soluzione.

 

Grazie di nuovo.

 

V.

 

 
Postato : 06/10/2021 22:41
Ariete125
(@ariete125)
Post: 0
New Member
Avviatore di Topic
 

@gianfranco55 

Grazie ad un vecchio file di supporto, sono riuscito a ricostruire la parte del file con le convalide dati, oggetto della discussione, che allego.

Ho inserito i due tipi di convalida, uno non funziona (guardacaso quello che farebbe al caso mio), l'altro sì.

Credo che sia una mia interpretazione sbagliata delle funzioni INDIRETTO(INDIRIZZO(RIF.RIGA();RIF.COLONNA() etc.

Buon divertimento.

Grazie.

V.

 

 
Postato : 07/10/2021 14:22
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

ciao

non riesco ascaricare il file

The service is unavailable.

 

niente aspetto 

vediamo se si sblocca

 
Postato : 07/10/2021 18:20
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

ciao

a me funziona tutto

 

comunque non è più semplice

metti la convalida in C10 e confermala.

=SE(C$9="Allievo";SCARTO($AE$8;;;CONTA.SE($AE$8:$AE$38;"?*")+1;1);$AE$1)

 

 

poi selezioni le due celle C10-D10

le trascini a destra e in basso.

hai il risultato che vuoi.

 

 
Postato : 07/10/2021 18:47
Ariete125
(@ariete125)
Post: 0
New Member
Avviatore di Topic
 

@gianfranco55 

 

Grazie.

Questa era la convalida dati in origine che avevo assegnato a tutte le celle per l'immissione:

=SE(C$9="Allievo";SCARTO($AE$8;0;0;CONTA.SE($AE$8:$AE$37;">""")+1;1);$AE$1)

Come vedi è molto simile alla tua. Ovviamente in ciascun gruppo di righe era da aggiornare il riferimento assoluto in SE. Finchè lo schema era semplice come quello del file di esempio, tutto bene. I problemi sono sorti quando questo schema ha dovuto essere replicato decine di volte nel foglio (in direzione verticale); questo mi costringe a ripassare ogni volta le convalide di tutte le celle di immissione di una nuovo gruppo copiato.

Teoricamente, credevo di avere risolto con le convalide che sono delle aree rosa e fuxia del file che hoi postato, gli indirizzi delle celle avrebbero dovuto aggiornarsi automaticamente. Ma non è così. Almeno, sul mio PC non è così. Provando la convalida a blocchi separati, funziona tutto, ma una volta radunati in un'unica formula, funziona se inserita in una singola cella come formula, ma non funziona assolutamente se utilizzata come convalida dati.

Se sul file PROVA.XLS che ho postato, sul tuo PC funzionano sia le convalide delle zone rosa che quelle delle zone verdi, mi viene il sospetto che esista un problema sul mio Office.

Cosa ne pensi?

 

Grazie.

V.

 

 

 

 
Postato : 07/10/2021 20:59
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

ciao

per scrupolo ho ricontrollato

 

funzionano tutte le convalide

 

non so se è la versione che usi o cosa

 

metto questo nella formula drl conta se

ti elimina tutti gli spazi vuoti della convalida

$8:$AE$38;"?*")

 
Postato : 07/10/2021 21:12
Ariete125
(@ariete125)
Post: 0
New Member
Avviatore di Topic
 

@gianfranco55 

Ho provato ad inserire "?*" al posto di ">""" o "<>"&"" nella formula, ma non c'è verso, nelle zone rosa e fuxia non funziona.

Se da te funziona tutto, visto che la costante è il file PROVA.XLS è certo che il problema è sul mio Office o Excel.

 

Grazie.

V.

 

 

 

 
Postato : 07/10/2021 21:29
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

ciao

quello che ti ho detto di cambiare nella formula

serve solo a non vedere gli spazi bianchi

ora riprovo per scaramanzia il tuo file

 
Postato : 07/10/2021 21:36
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

ciao

è assurdo

da me il file funziona

ma se provo a ricopiare la stessa formula sulla convalida

della stessa cella mi da errore.

ho provato a ricopiarlo anche nel mio file

e mi da errore.

vediamo se scopro il perchè

 
Postato : 07/10/2021 21:47
Ariete125
(@ariete125)
Post: 0
New Member
Avviatore di Topic
 

@gianfranco55 

Forse è un problema di compatibilità della funzione SE con INDIRETTO(INDIRIZZO(RIF:RIGA( etc..

Grazie.

 

V.

 
Postato : 07/10/2021 22:27
Condividi:
My Agile Privacy
Questo sito utilizza cookie tecnici e di profilazione. Cliccando su accetta si autorizzano tutti i cookie di profilazione. Cliccando su rifiuta o la X si rifiutano tutti i cookie di profilazione. Cliccando su personalizza è possibile selezionare quali cookie di profilazione attivare.
Attenzione: alcune funzionalità di questa pagina potrebbero essere bloccate a seguito delle tue scelte privacy
     Scarica il nostro ebook gratuito     

Unisciti a oltre 35.000 professionisti
che hanno già scelto di semplificare il proprio lavoro
e aumentare la produttività con la nostra newsletter!

Scarica l’ebook con i
migliori trucchi e suggerimenti per Excel
selezionati per te da Excel Academy

Download