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.
Buongiorno, ho il seguente problema che non riesco a risolvere; ho un elenco di clienti messi su una colonna e ripetuti tante volte quanti sono i fornitori da qui acquistano con quantitativi per ogni fornitore. Ogni cliente può avere da un minimo di 1 fornitore a un massimo di 4. Vorrei mettere il cliente su un'unica riga con accanto le colonne con i fornitori e relativo quantitativo (dal più grande al più piccolo) per evidenziare il fornitore principale per importanza. Nell'esempio allegato nel foglio Base c'è l'elenco dei clienti e nel foglio Risultato quello che vorrei ottenere.
ciao
in A3 troviamo i clienti univoci da tirare in giù
=SE.ERRORE(INDICE(Base!$A$2:$A$1000;CONFRONTA(0;INDICE(CONTA.SE(A$1:$A1;Base!$A$2:$A$1000&""););0));"")
in B3
=SE($A3="";"";SE.ERRORE(INDICE(Base!$B$2:$B$1000;AGGREGA(15;6;RIF.RIGA($1:$1000)/(Base!$A$2:$A$1000=$A3);RIF.COLONNA()/2));""))
in C3
=MATR.SOMMA.PRODOTTO((Base!$B$2:$B$1000=B3)*(Base!$A$2:$A$1000=$A3)*(Base!$C$2:$C$1000))
ora seleziona le celle B3:D3
e tirale verso destra e in basso
Ciao Gianfranco, grazie mille, sul file di TEST funziona, ora provo ad applicare le formule sul file vero e proprio.
Grazie ancora.
Ciao,
alternativa (ma molto simile) alla proposta di @gianfranco55 (?)...
in cella B2 (da copiare poi a destra ed in basso) la FORMULA MATRICIALE (quindi da confermare con la combinazione di tasti CTRL+SHIFT+INVIO anziché solo con INVIO):
=SE($A2="";"";SE.ERRORE(INDICE(Base!$B$2:$C$100;CONFRONTA(AGGREGA(14;6;(Base!$C$2:$C$100+RIF.RIGA($B$2:$B$100)/1000)/(Base!$A$2:$A$100=$A2);INT((RIF.COLONNA(A1)-1)/2)+1);Base!$C$2:$C$100+RIF.RIGA($B$2:$B$100)/1000;0);RESTO(RIF.COLONNA(A1)-1;2)+1);""))
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
ciao ho rivisto il file
e penso sia meglio usare
=SE.ERRORE(INDICE(Base!$B$2:$B$1000;CONFRONTA(0;INDICE(CONTA.SE($A3:A3;Base!$B$2:$B$1000&"")/(Base!$A$2:$A$1000=$A3););0));"")
questo perchè
se aggiungo una riga con il cliente 1 e lo stesso fornitore mi rende due colonne
con lo stesso fornitore sia la mia che quella di CROMAGNO.
con questa estraggo gli univoci e poi li sommo
vedi il file
Ciao a tutti, domani provo le vostre formule e vi aggiorno su come si adattano al file con 7000 righe.
Grazie
Buongiorno a tutti,
ho provato entrambe le soluzioni e funzionano anche applicate ad un file con 700 righe.
Ho risolto il problema utilizzando la formula di Gianfranco per la univocità dei clienti e la formula di Cromagno per la compilazione delle colonne fornitori.
Grazie Cromagno e Gianfranco