| | Post: 6 | Registrato il: 21/04/2017
| Città: MARCIANISE | Età: 38 | Utente Junior | 2007-2011-2016 | | OFFLINE | |
|
06/09/2017 12:46 | |
Salve,
non riesco a risolvere questo dilemma. Vorrei che Excel riuscisse a calcolarmi il numero dei clienti serviti in un mese dalla mia azienda. Per fare questo excel dovrebbe sommarmi i numeri unici ed univoci su due fogli differenti.
Io ho utilizzato questa formula:
=MATR.SOMMA.PRODOTTO(--(FREQUENZA(Magazzino1!C3:C100;Magazzino1!C3:C100)>0))+MATR.SOMMA.PRODOTTO(--(FREQUENZA(Magazzino2!C3:C100;Magazzino2!C3:C100)>0))
Il limite di questa formula è quello di conteggiare nuovamente sul secondo foglio i numeri duplicati che sono presenti sul primo foglio e quindi mi riporta un numero sbagliato. Non riesco ad applicare la formula frequenza a due fogli differenti.
Mi occorre la correzione della formula.
Vi allego il file per farvi capire di cosa ho bisogno.
|
|
| | Post: 123 | Registrato il: 15/01/2016
| Città: ROMA | Età: 51 | Utente Junior | 2016 | | OFFLINE |
|
06/09/2017 22:54 | |
Buonasera
una possibile soluzione ho creato un foglio di servizio (ma si potevano usare anche due colonne da nascondere in seguito)
quindi in colonna A del Foglio1 in A3 da trascinare in basso
=SE.ERRORE(INDICE(Magazzino1!$C$3:$C$100;CONFRONTA(0;INDICE(CONTA.SE($A$2:A2;Magazzino1!$C$3:$C$100&""););0));"")
per creare una lista di univoci del Magazzino1
in B3 da trascinare in basso
=SE.ERRORE(INDICE(Magazzino2!$C$3:$C$100;CONFRONTA(0;INDICE(CONTA.SE($B$2:B2;Magazzino2!$C$3:$C$100&""););0));"")
per creare una lista di univoci del Magazzino2
in B3 del foglio clienti serviti
=SOMMA(MATR.SOMMA.PRODOTTO(--(Foglio1!$A$3:$A$100<>""));MATR.SOMMA.PRODOTTO(--(Foglio1!$B$3:$B$100<>"")))-MATR.SOMMA.PRODOTTO((CONTA.SE(Foglio1!$A$3:$A$100; Foglio1!$B$3:$B$100)>0)*(Foglio1!$B$3:$B$100<>"")) |
| | Post: 6 | Registrato il: 21/04/2017
| Città: MARCIANISE | Età: 38 | Utente Junior | 2007-2011-2016 | | OFFLINE | |
|
07/09/2017 00:34 | |
Innanzitutto ti ringrazio per la soluzione da te creata ma io cercavo una soluzione per la formula del Matr.somma.prodotto con frequenza su due fogli diversi. Non vorrei creare un ulteriore foglio oppure nascondere delle righe o colonne. Con la mia formula, se avessi tutti i numeri nella stessa colonna avrei già risolto il problema. Mi piacerebbe trovare una correzione alla mia formula. |
| | Post: 124 | Registrato il: 15/01/2016
| Città: ROMA | Età: 51 | Utente Junior | 2016 | | OFFLINE |
|
07/09/2017 09:01 | |
Buongiorno
Se non sei disponibile ad utilizzare colonne di servizio non credo che raggiungerai lo scopo in quanto i doppioni verranno sempre contati due volte con le formule si può fare quasi tutto ma l impossibile non è prrvisto (magari vengo smentito da qualche guru).... |
| | Post: 7 | Registrato il: 21/04/2017
| Città: MARCIANISE | Età: 38 | Utente Junior | 2007-2011-2016 | | OFFLINE | |
|
07/09/2017 10:24 | |
Dal tuo spunto sono riuscito a creare un qualcosa simile alla mia idea iniziale. In pratica nel Foglio Magazzino1, nella cella C60 ho inserito la formula =Magazzino2!C3 e trascinato fino a C100. Dopo ho selezionato le celle da C60 a C100 e nascosto i valori utilizzando ";;;".
Sono ritornato nella pagina Clienti Serviti e sotto la cella che mi calcola appunto i clienti serviti ho inserito la formula:
=MATR.SOMMA.PRODOTTO(--(FREQUENZA(Magazzino1!C3:C100;Magazzino1!C3:C100)>0))-1.
Così facendo sono riuscito a trovare una soluzione alternativa che però mi permette di non aggiungere fogli o nascondere righe e colonne.
Ovviamente non sono un esperto di excel, ma credo che un'altra soluzione variando la mia formula ci debba essere.
Per ora mi accontento della soluzione che ho trovato grazie al tuo spunto.
(Allego il file) [Modificato da martymcfly232 07/09/2017 10:26] |
| | Post: 125 | Registrato il: 15/01/2016
| Città: ROMA | Età: 51 | Utente Junior | 2016 | | OFFLINE |
|
07/09/2017 10:31 | |
Ottimo
Ma sempre una colonna dove mettere tutto l elenco hai dovuto creare |
| | Post: 5.249 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | OFFLINE |
|
11/09/2017 16:54 | |
Ciao, ti ho creato una Funzione UDF per il tuo problema, questa:
Function Cont(rngA As Range, rngB As Range)
Dim cl, matr1 As New Collection
On Error Resume Next
For Each cl In rngA
matr1.Add cl, CStr(cl)
Next cl
For Each cl In rngB
matr1.Add cl, CStr(cl)
Next cl
Cont = matr1.Count
End Function
non devi fare altro che copiarla in un modulo e poi dimenticarla, si attiva in automatico, non ha bisogno di appoggio o altro
come funziona, nella cella dove vuoi il risultato devi scrivere come una formula:
=cont(Magazzino1!C3:C15;Magazzino2!C3:C10)
selezionando i 2 range dei 2 magazzini e basta, quindi avrai il risultato.
prova a cambiare qualche dato nei 2 range vedi che si aggiorna automaticamente.
Ciao By Sal
[Modificato da by sal 11/09/2017 16:55] se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
|
|