Risolto convalida dati con elenco filtrato

Papa85

Utente abituale
6 Novembre 2020
591
20
2019
11
Buongiorno forum..
è possibile mettere nella convalida dati un elenco filtrato con formula direttamente nella convalida?

mi spiego meglio..
nel file di esempio che allego, nei campi in giallo c'è una convalida dati in cui i campi da inserire devo corrispondere ad uno dei nomi presenti nel foglio di servizio, intervallo D3:D799..
solo che chiaramente, nei portieri ad esempio mi ritrovo che posso convalidare anche giocatori di altri ruoli...

come potrei "filtrare" nella formula della convalida dai il ruolo dei giocatori?

tempo fa avevo fatto con delle colonne di servizio un'estrazione dei nomi preventiva in base al ruolo (grazie anche al vostro aiuto).. ma cosi il file si rallenta molto..


esempio
 

alfrimpa

VBA Expert
Supermoderatore
18 Dicembre 2015
42.300
2.445
68
Napoli
Office 365
1.365
Secondo me la cosa più semplice e banale è creare su un altro foglio (in quattro colonne distinte) un elenco dei portieri, difensori, centrocampisti ed attaccanti e poi basi le convalide del foglio ROSE su questi elenchi.

Non ci metti più di due minuti a farlo.
 
  • Like
Reactions: Papa85

Papa85

Utente abituale
6 Novembre 2020
591
20
2019
11
è quello che avevo fatto... ma ero curioso di sapere se c'era un modo "più rapido" da inserire direttamente nella convalida dati
 

alfrimpa

VBA Expert
Supermoderatore
18 Dicembre 2015
42.300
2.445
68
Napoli
Office 365
1.365
Più rapido? E che vuol dire?

Potrei suggerire l’uso di una combobox da gestire con il VBA ma perchè vuoi usare un bazooka per sparare ad un moscerino?
 

Powerwin

VBA Expert
Supermoderatore
17 Marzo 2016
8.903
245
vicino a Milano
2019 e 365
304
Ciao definisci i nomi per i range dei portieri, difensori... poi crei una convalida dati, gli dici di prendere i dati da un elenco e sotto nella casella Origine metti per ogni convalida =nome assegnato
 
  • Like
Reactions: Papa85

Papa85

Utente abituale
6 Novembre 2020
591
20
2019
11
buongiorno,
alla fine seguendo il suggerimento di alfredo sfruttando un foglio di servizio ed inserendo la formula
=SE.ERRORE(INDICE(A$3:A$799;AGGREGA(15;6;RIF.RIGA($1:$799)/($B$3:$B$799=$CR$1);RIF.RIGA($A1)));"")
e cambiando ovviamente il riferimento per ogni ruolo, ho risolto.

un saluto
 

Sostieni ForumExcel

Aiutaci a sostenere le spese e a mantenere online la community attraverso una libera donazione!