Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Correzione Formula

Ultimo Aggiornamento: 11/09/2017 16:54
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

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]








[Modificato da by sal 11/09/2017 16:55]
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
correzione formula (12 messaggi, agg.: 15/08/2023 14:50)
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 22:20. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com