Ciao a tutti,
@Raimea
ti stavo per scrivere solo la formula per la ricerca con doppio criterio ma vedendo i menu a tendina con tutti quegli spazi...ho proseguito.
Nel file che allego, il tutto è stato fatto per gestire al meglio il range C8:H8 del foglio "ripilogo"...in modo da creare anche meno problemi al codice di Anthony (che saluto).
Per avere dei menu a tendina senza spazi vuoti, si creano dei "nomi definiti" (tanti per quanti elenchi bisogna gestire) e la loro formula avrà questa sintassi:
esempio, per l'elenco dei clienti, è stato creato un "nome definito" che ho chiamato "Clienti" e la sua formula è:
=SCARTO('clienti-prodotti'!$C$6;;;MATR.SOMMA.PRODOTTO(--('clienti-prodotti'!$C$6:$C$105<>"")))stessa cosa per il nomi definiti "Prodotto" e "Concia".
Per gli altri nomi definiti, che mi serviranno per i menu a tendina dinamici da mettere nelle celle D8, G8 e H8 del foglio "riepilogo", ho preferito aggiungere in foglio "Elenchi" per contenerli.
Nel foglio "Elenchi" avremo....
per i "COMUNI" nella cella A2 (da copiare poi in basso) la
formula matriciale (quindi da confermare con la combinazione di tasti CTRL+MAIUSC+INVIO anzichè solo con INVIO):
=SE.ERRORE(INDICE('clienti-prodotti'!$D$1:$D$105;PICCOLO(SE.ERRORE(RIF.RIGA('clienti-prodotti'!$C$6:$C$105)/('clienti-prodotti'!$C$6:$C$105=riepilogo!$C$8);"");RIF.RIGA(A1)));"")per le "DATE" nella cella B2 (da copiare poi in basso) la
formula matriciale:
=SE.ERRORE(INDICE(ordini!$G$1:$G$110;PICCOLO(SE.ERRORE(RIF.RIGA(ordini!$C$8:$C$110)/((ordini!$C$8:$C$110=riepilogo!$C$8)*(SE(riepilogo!$D$8<>"";ordini!$D$8:$D$110=riepilogo!$D$8;1)));"");RIF.RIGA(A1)));"")per gli "ORDINI" nella cella C2 (da copiare poi in basso) la
formula matriciale:
=SE.ERRORE(INDICE(ordini!$H$1:$H$110;PICCOLO(SE.ERRORE(RIF.RIGA(ordini!$C$8:$C$110)/((ordini!$C$8:$C$110=riepilogo!$C$8)*(SE(riepilogo!$D$8<>"";ordini!$D$8:$D$110=riepilogo!$D$8;1))*(SE(riepilogo!$G$8<>"";ordini!$G$8:$G$110=riepilogo!$G$8;1)));"");RIF.RIGA(A1)));"")rimangono solo le formule per cui ho iniziato...
Nel foglio "riepilogo", nella cella E8 (da copiare poi nella cella F8) la
formula matriciale:
=SE.ERRORE(INDICE('clienti-prodotti'!E$6:E$105;CONFRONTA($C$8&$D$8;'clienti-prodotti'!$C$6:$C$105&'clienti-prodotti'!$D$6:$D$105;0));"")&""Allego il file...
http://www.filedropper.com/pianosemina14Ciao
Tore