Correzione Formula

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
martymcfly232
00mercoledì 6 settembre 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.
DANILOFIORINI
00mercoledì 6 settembre 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<>""))
martymcfly232
00giovedì 7 settembre 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.
DANILOFIORINI
00giovedì 7 settembre 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)....
martymcfly232
00giovedì 7 settembre 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)
DANILOFIORINI
00giovedì 7 settembre 2017 10:31
Ottimo
Ma sempre una colonna dove mettere tutto l elenco hai dovuto creare
by sal
00lunedì 11 settembre 2017 16:54
Conta clienti serviti
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 [SM=x423051] [SM=x423025]








Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 18:53.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com