| | Post: 10 | Registrato il: 29/12/2014
| Età: 42 | Utente Junior | 2007 | | OFFLINE | |
|
25/01/2018 20:42 | |
Ciao a tutti,
in "Foglio 2", nella colonna "F" ci sono dei modelli, nella colonna "L" ci sono delle quantità di ciascun modello, e nella colonna "O" ci sono i mesi in cui tali quantità vengono richieste. Ciò che vorrei ottenere è presente nel "Foglio 1": nella colonna "C" dovrebbero esserci i codici dei modelli presenti nella colonna F del "Foglio 2" ma senza duplicati (ogni modello deve comparire una volta sola), mentre nelle colonne "E","G","I" dovrebbero esserci, per ciascun mese, le quantità presenti nella colonna "L" del "Foglio 2".
Vorrei ottenere i risultati presenti nelle celle di colore giallo delle colonne "E","G","I" del "Foglio 1" senza utilizzare tabelle pivot o VBA, e senza utilizzare la funzione "rimuovi duplicati", ma utilizzando delle formule.
Come si può fare?
Grazie in anticipo |
|
| | Post: 1.507 | Registrato il: 10/10/2013
| Città: VICENZA | Età: 69 | Utente Veteran | 365 | | OFFLINE |
|
25/01/2018 20:59 | |
Ciao
per trovare gli univoci
=SE.ERRORE(INDICE(Foglio2!$F$2:$F$15;CONFRONTA(0;INDICE(CONTA.SE(C$3:$C3;Foglio2!$F$2:$F$15&""););0));"")
per la quantità
=MATR.SOMMA.PRODOTTO((Foglio2!$F$2:$F$15=$C4)*(Foglio2!$O$2:$O$15=$E$2)*(Foglio2!$L$2:$L$15))
adegua i range al tuo bisogno |
| | Post: 10 | Registrato il: 29/12/2014
| Età: 42 | Utente Junior | 2007 | | OFFLINE | |
|
27/01/2018 16:41 | |
Ciao,
nel file in allegato ho modificato la colonna "D" del "Foglio 1".
Ciò che vorrei ottenere è visibile nelle celle di colore verde, ovvero per ogni modello presente nella colonna "C" del "Foglio 1", nella colonna "D" vorrei avere tutti i valori possibili del Modello 2 elencati nella colonna "G" del "Foglio 2". Una stessa cella conterrà quindi più valori di modello 2, ciascuno separato da uno spazio.
Come si può fare?
|
| | Post: 1.509 | Registrato il: 10/10/2013
| Città: VICENZA | Età: 69 | Utente Veteran | 365 | | OFFLINE |
|
27/01/2018 19:29 | |
ciao
con formula diventa una divina commedia
metti in D4 questa e tirala in giu
=ANNULLA.SPAZI(SE.ERRORE(INDICE(Foglio2!$G$2:$G$1500;AGGREGA(15;6;RIF.RIGA($1:$1000)/(Foglio2!$F$2:$F$1500=C4);1));"")&" "&SE.ERRORE(INDICE(Foglio2!$G$2:$G$1500;AGGREGA(15;6;RIF.RIGA($1:$1000)/(Foglio2!$F$2:$F$1500=C4);2));"")&" "&SE.ERRORE(INDICE(Foglio2!$G$2:$G$1500;AGGREGA(15;6;RIF.RIGA($1:$1000)/(Foglio2!$F$2:$F$1500=C4);3));"")&" "&SE.ERRORE(INDICE(Foglio2!$G$2:$G$1500;AGGREGA(15;6;RIF.RIGA($1:$1000)/(Foglio2!$F$2:$F$1500=C4);4));"")&" "&SE.ERRORE(INDICE(Foglio2!$G$2:$G$1500;AGGREGA(15;6;RIF.RIGA($1:$1000)/(Foglio2!$F$2:$F$1500=C4);5));"")&" "&SE.ERRORE(INDICE(Foglio2!$G$2:$G$1500;AGGREGA(15;6;RIF.RIGA($1:$1000)/(Foglio2!$F$2:$F$1500=C4);6));"")&" "&SE.ERRORE(INDICE(Foglio2!$G$2:$G$1500;AGGREGA(15;6;RIF.RIGA($1:$1000)/(Foglio2!$F$2:$F$1500=C4);7));"")&" "&SE.ERRORE(INDICE(Foglio2!$G$2:$G$1500;AGGREGA(15;6;RIF.RIGA($1:$1000)/(Foglio2!$F$2:$F$1500=C4);8));"")&" "&SE.ERRORE(INDICE(Foglio2!$G$2:$G$1500;AGGREGA(15;6;RIF.RIGA($1:$1000)/(Foglio2!$F$2:$F$1500=C4);9));"")&" "&SE.ERRORE(INDICE(Foglio2!$G$2:$G$1500;AGGREGA(15;6;RIF.RIGA($1:$1000)/(Foglio2!$F$2:$F$1500=C4);10));"")&" "&SE.ERRORE(INDICE(Foglio2!$G$2:$G$1500;AGGREGA(15;6;RIF.RIGA($1:$1000)/(Foglio2!$F$2:$F$1500=C4);11));"")&" "&SE.ERRORE(INDICE(Foglio2!$G$2:$G$1500;AGGREGA(15;6;RIF.RIGA($1:$1000)/(Foglio2!$F$2:$F$1500=C4);12));""))
e ti concatena solo le prime dodici occorrenze
ci vorrebbe il vba |
| | Post: 11 | Registrato il: 29/12/2014
| Età: 42 | Utente Junior | 2007 | | OFFLINE | |
|
27/01/2018 19:42 | |
Ciao, ho provato ad incollare la formula in D4 ma restituisce celle vuote.
|
| | Post: 1.510 | Registrato il: 10/10/2013
| Città: VICENZA | Età: 69 | Utente Veteran | 365 | | OFFLINE |
|
27/01/2018 19:55 | |
aggrega...........
il 2007 non l'ha come funzione
ha piccolo
provo a rifartela |
| | Post: 1.511 | Registrato il: 10/10/2013
| Città: VICENZA | Età: 69 | Utente Veteran | 365 | | OFFLINE |
|
27/01/2018 20:09 | |
eccola
fino a 10 occorrenze
=ANNULLA.SPAZI(SE.ERRORE(INDICE(Foglio2!$G$2:$G$1500;PICCOLO(SE(Foglio2!$F$2:$F$1500=C4;RIF.RIGA($G$2:$G$1500)-RIF.RIGA(Foglio2!$G$2)+1);1));"")&" "&SE.ERRORE(INDICE(Foglio2!$G$2:$G$1500;PICCOLO(SE(Foglio2!$F$2:$F$1500=C4;RIF.RIGA($G$2:$G$1500)-RIF.RIGA(Foglio2!$G$2)+1);2));"")&" "&SE.ERRORE(INDICE(Foglio2!$G$2:$G$1500;PICCOLO(SE(Foglio2!$F$2:$F$1500=C4;RIF.RIGA($G$2:$G$1500)-RIF.RIGA(Foglio2!$G$2)+1);3));"")&" "&SE.ERRORE(INDICE(Foglio2!$G$2:$G$1500;PICCOLO(SE(Foglio2!$F$2:$F$1500=C4;RIF.RIGA($G$2:$G$1500)-RIF.RIGA(Foglio2!$G$2)+1);4));"")&" "&SE.ERRORE(INDICE(Foglio2!$G$2:$G$1500;PICCOLO(SE(Foglio2!$F$2:$F$1500=C4;RIF.RIGA($G$2:$G$1500)-RIF.RIGA(Foglio2!$G$2)+1);5));"")&" "&SE.ERRORE(INDICE(Foglio2!$G$2:$G$1500;PICCOLO(SE(Foglio2!$F$2:$F$1500=C4;RIF.RIGA($G$2:$G$1500)-RIF.RIGA(Foglio2!$G$2)+1);6));"")&" "&SE.ERRORE(INDICE(Foglio2!$G$2:$G$1500;PICCOLO(SE(Foglio2!$F$2:$F$1500=C4;RIF.RIGA($G$2:$G$1500)-RIF.RIGA(Foglio2!$G$2)+1);7));"")&" "&SE.ERRORE(INDICE(Foglio2!$G$2:$G$1500;PICCOLO(SE(Foglio2!$F$2:$F$1500=C4;RIF.RIGA($G$2:$G$1500)-RIF.RIGA(Foglio2!$G$2)+1);8));"")&" "&SE.ERRORE(INDICE(Foglio2!$G$2:$G$1500;PICCOLO(SE(Foglio2!$F$2:$F$1500=C4;RIF.RIGA($G$2:$G$1500)-RIF.RIGA(Foglio2!$G$2)+1);9));"")&" "&SE.ERRORE(INDICE(Foglio2!$G$2:$G$1500;PICCOLO(SE(Foglio2!$F$2:$F$1500=C4;RIF.RIGA($G$2:$G$1500)-RIF.RIGA(Foglio2!$G$2)+1);10));""))
devi confermarla
ctrl shift invio
è matriciale |
| | Post: 12 | Registrato il: 29/12/2014
| Età: 42 | Utente Junior | 2007 | | OFFLINE | |
|
27/01/2018 20:49 | |
Ottima soluzione, peccato solo che quando la formula peschi lo stesso valore dalla colonna G del "Foglio 2" lo ripeta (ad esempio 00066666 ripete due volte il 5).
|
| | Post: 1.512 | Registrato il: 10/10/2013
| Città: VICENZA | Età: 69 | Utente Veteran | 365 | | OFFLINE |
|
27/01/2018 21:00 | |
certo
lo vuoi per mese? |
| | Post: 13 | Registrato il: 29/12/2014
| Età: 42 | Utente Junior | 2007 | | OFFLINE | |
|
27/01/2018 21:19 | |
Preferirei che la formula riportasse nella colonna D i valori senza ripeterli.
|
| | Post: 1.515 | Registrato il: 10/10/2013
| Città: VICENZA | Età: 69 | Utente Veteran | 365 | | OFFLINE |
|
28/01/2018 17:56 | |
ciao
senza una tabella d'appoggio non ci riesco
e anche così pur raggiungendo il risultato non è che
mi piaccia molto, sono certo che un metodo meno complicato ci sia
comunque vedi il risultato.
Se hai poche righe lo puoi adattare altrimenti io passerei al vba
(non sono ferrato in merito)
dopo avere creato la tabella univoci in foglio due
la formula da usare è
=ANNULLA.SPAZI(INDIRETTO("foglio2!"&(INDIRIZZO(3;CONFRONTA(C4;Foglio2!$Q$2:$X$2;0)+16)))&" "&INDIRETTO("foglio2!"&(INDIRIZZO(4;CONFRONTA(C4;Foglio2!$Q$2:$X$2;0)+16)))&" "&INDIRETTO("foglio2!"&(INDIRIZZO(5;CONFRONTA(C4;Foglio2!$Q$2:$X$2;0)+16)))&" "&INDIRETTO("foglio2!"&(INDIRIZZO(6;CONFRONTA(C4;Foglio2!$Q$2:$X$2;0)+16)))&" "&INDIRETTO("foglio2!"&(INDIRIZZO(7;CONFRONTA(C4;Foglio2!$Q$2:$X$2;0)+16)))&" "&INDIRETTO("foglio2!"&(INDIRIZZO(8;CONFRONTA(C4;Foglio2!$Q$2:$X$2;0)+16)))&" "&INDIRETTO("foglio2!"&(INDIRIZZO(9;CONFRONTA(C4;Foglio2!$Q$2:$X$2;0)+16)))&" "&INDIRETTO("foglio2!"&(INDIRIZZO(10;CONFRONTA(C4;Foglio2!$Q$2:$X$2;0)+16)))&" "&INDIRETTO("foglio2!"&(INDIRIZZO(11;CONFRONTA(C4;Foglio2!$Q$2:$X$2;0)+16))))
per ampliarla
basta aggiungere questa stringa prima dell'ultima parentesi chiusa
&" "&INDIRETTO("foglio2!"&(INDIRIZZO( 4;CONFRONTA(C4;Foglio2!$Q$2:$X$2;0)+16)))
e cambiare il numero in rosso
nel caso del file sarà 12
mi dispiace ma ad ora meglio non so fare [Modificato da federico460 28/01/2018 18:03] |
| | Post: 14 | Registrato il: 29/12/2014
| Età: 42 | Utente Junior | 2007 | | OFFLINE | |
|
28/01/2018 20:02 | |
Ti ringrazio. Chissà, però, che non ci sia un metodo meno complicato. |
| | Post: 2.635 | Registrato il: 03/04/2013
| Utente Veteran | Excel 2000 - 2013 | | OFFLINE | |
|
29/01/2018 06:52 | |
Buona giornata, Nicckho; se lo ritieni utile e opportuno, potresti provare con VBA. Considera che ho previsto solo i mesi: - Gennaio - Febbraio - Marzo Estendere il Range fino a Dicembre è piuttosto semplice ma bisogna avere un minimo di conoscenza di VBA e ... una buona dose di pazienza (cosa che io non ho! ). A disposizione. Buon Lavoro. Giuseppe
Windows XP - Excel 2000
Windows 10 - Excel 2013 |
| | Post: 1.517 | Registrato il: 10/10/2013
| Città: VICENZA | Età: 69 | Utente Veteran | 365 | | OFFLINE |
|
29/01/2018 10:19 | |
Ciao
Giuseppe
finalmente il VBA
mi hai fatto scrivere la divina commedia con le formule
speravo intervenissi |
| | Post: 2.636 | Registrato il: 03/04/2013
| Utente Veteran | Excel 2000 - 2013 | | OFFLINE | |
|
29/01/2018 10:45 | |
Buona giornata, Federico; molto difficilmente intervengo in una Discussione nella quale ci sono altri Utenti impegnati con Procedure o Formule. Questa volta visto che: @Nicckho scrive:
Ti ringrazio. Chissà, però, che non ci sia un metodo meno complicato.
Ho ritenuto di Proporre un Codice VBA; poi vedremo come si sviluppa questa discussione magari VBA non è la soluzione più adeguata. Alla prossima. Buon Lavoro. Giuseppe
Windows XP - Excel 2000
Windows 10 - Excel 2013 |
| | Post: 1.518 | Registrato il: 10/10/2013
| Città: VICENZA | Età: 69 | Utente Veteran | 365 | | OFFLINE |
|
29/01/2018 10:49 | |
ciao
e invece devi intervenire
Se hai poche righe lo puoi adattare altrimenti io passerei al vba
più risposte si hanno meglio è
vedere molte idee è meglio
ci fa capire le grandi capacità di Excel
sarà poi al richiedente scegliere
la più congeniale alle sue conoscenze
e amplia le conoscenze di chi risponde
[Modificato da federico460 29/01/2018 10:52] |
|
|