Condividi:        

Matrice per totale giornaliero per data

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Re: Matrice per totale giornaliero per data

Postdi danibi60 » 20/07/18 10:44

Grazie infinite Anthony,

ma giusto per capire meglio , in quale posizione c'era lo spazio che inquinava l'esecuzione corretta della macro?

Un caro saluto,

Danibi
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Win 10 & Office365 Premium
danibi60
Utente Senior
 
Post: 493
Iscritto il: 11/07/13 09:21
Località: Bergamo

Sponsor
 

Re: Matrice per totale giornaliero per data

Postdi Anthony47 » 20/07/18 20:30

Y5668, cioe' col Y dell'ultima riga compilata.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19228
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Matrice per totale giornaliero per data

Postdi danibi60 » 26/07/18 07:21

Grazie!
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Win 10 & Office365 Premium
danibi60
Utente Senior
 
Post: 493
Iscritto il: 11/07/13 09:21
Località: Bergamo

Re: Matrice per totale giornaliero per data

Postdi danibi60 » 03/08/18 11:46

Ciao Anthony

con la stessa matrice che mi hai con rara maestria prodotto, io estraggo i ricavi delle varie spedizioni, con la stessa matrice vorrei determinare con lo stesso processo i ricavi senza però escludere le altre filiali.

La macro infatti prevedeva l'estrazione e la comparazione solo della mia filiale "023".

Nei ricavi invece vorrei che tenesse conto di tutte, senza discriminazione alcuna di nessuna, e mi segnalasse ogni giorno, sia le modifiche che ognuna porta il giorno successivo, sia quando qualcuna viene annullata piuttosto se una nuova dovesse comparire.

Così come del resto avviene, ma solo per la mia filiale 023, attualmente con la matrice in uso per i soli costi

Ti invio la solita matrice con anche due file relativi alle estrazioni sia del giorno 1 sia del giorno 2 di agosto dei ricavi.

https://www.dropbox.com/s/e7s02lo5xr10z ... .xlsm?dl=0

https://www.dropbox.com/sh/tw711jyjr5yw ... 2F6ca?dl=0

https://www.dropbox.com/s/5w30vafm5rdl1 ... 8.csv?dl=0
.
Grazie come sempre

daniby


Grazie,

Daniby
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Win 10 & Office365 Premium
danibi60
Utente Senior
 
Post: 493
Iscritto il: 11/07/13 09:21
Località: Bergamo

Re: Matrice per totale giornaliero per data

Postdi danibi60 » 03/08/18 11:47

Qui volevo scrivere costi e non ricavi

"con la stessa matrice che mi hai con rara maestria prodotto, io estraggo i costi delle varie spedizioni"
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Win 10 & Office365 Premium
danibi60
Utente Senior
 
Post: 493
Iscritto il: 11/07/13 09:21
Località: Bergamo

Re: Matrice per totale giornaliero per data

Postdi Anthony47 » 03/08/18 18:05

Perdona, ma non ricordo nulla di questi dati e di che cosa facevano le macro precedenti sviluppate con "la solita" :D :D maestria...
Quindi dammi un aiutino sulla struttura dei file e su che cosa va analizzato.

Ti aspetto...
Avatar utente
Anthony47
Moderatore
 
Post: 19228
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Matrice per totale giornaliero per data

Postdi danibi60 » 03/08/18 20:20

Caspita Anthony accidenti, non mi chiedi nulla.... riepilogarti in sintesi un lavoro che abbiamo costruito, ops, che hai costruito, passo dopo passo, in mesi .... cosa non facile:

Ci provo:

io estraggo giornalmente dal gestionale un file (nel file che ti ho girato poc'anzi è quello subito dopo la pivot ) con all'interno tutti i dati.

La prima macro (abilitata dal comando ctrl+a) genera un foglio di lavoro che permetteva di estrarre solo i dati relativi alla mia filiale "023"

cliccando poi sul foglio appena generato e attivando la seconda macro (abilitata con ctrl+b) permetteva di evidenziare giorno dopo giorno:
cambiamenti di importo di ogni singola spedizione
spedizione che non esisteva più ecc ecc

Con questa nuova richiesta vorrei che accadesse la stessa cosa solo che nel file precedente solo che anziché estrarre i risultati (si tratta di ricavi) (vedi prima macro relativi alla mia sola filiale 023) li estraesse per tutte le filiali ( il codice di ogni filiale ha un numero di tre cifre che va da "000" sino a "999") e a fianco dopo il trattino "-" c'è il relativo numero di spedizione (che è unico per ogni spedizione).
Successivamente con la seconda macro come verificare i vari cambiamenti che la singola spedizione potrebbe subire (in più o in meno in termini di importo, piuttosto che annullata perché non si effettuerà più...

successivamente il tutto finiva automaticamente riepilogato nella pivot giorno dopo giorno

Non so se ho reso l'idea e se sono stato abbastanza chiaro... spero tanto di sì.

Per tu completa conoscenza ti allego la matrice-brevi (così l'avevo chiamata) ultima e che potrebbe darti l'idea di cosa questa estraeva....in questo caso arrivava nelle estrazioni sino a metà luglio...

https://www.dropbox.com/s/dwnkgplxqpbsa ... .xlsm?dl=0
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Win 10 & Office365 Premium
danibi60
Utente Senior
 
Post: 493
Iscritto il: 11/07/13 09:21
Località: Bergamo

Re: Matrice per totale giornaliero per data

Postdi danibi60 » 23/08/18 09:07

Ciao Anthony, come stai?

la spiegazione è stata così pessima da non ricevere nemmeno una critica della serie: non ci ho capito nulla, oppure sei in vacanza?

Un caro saluto,

danibi60
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Win 10 & Office365 Premium
danibi60
Utente Senior
 
Post: 493
Iscritto il: 11/07/13 09:21
Località: Bergamo

Re: Matrice per totale giornaliero per data

Postdi Anthony47 » 23/08/18 15:41

Azz, mi sembrava di aver dimenticato qualcosa :D
Visto che le ferie son finite, adesso hai una speranza in piu'... prometto di guardarlo a breve
Avatar utente
Anthony47
Moderatore
 
Post: 19228
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Matrice per totale giornaliero per data

Postdi Anthony47 » 24/08/18 17:54

Non so se ho capito tutto; mi pare che la richiesta sia di creare un riepilogo giornaliero che includesse tutte le filiali, non solo la 023.
La SubDayRIEP gia' prevede l'impostazione della filiale da esaminare, per realizzare quanto richiesto sarebbe sufficiente modificare l'istruzione If Left(Cells(I, 1), 4) = tSped e poi variare il contenuto della variabile tSped nel codice.

Ho preferito pero' riscrivere il codice complessivo per poter inserire il numero della filiale all'avvio della macro tramite Inputbox e dare nel messaggio finale l'indicazione di quale filiale e' stata "lavorata". Per indicare "tutte le filiali" va semplicemente lasciato vuoto l'inputbox, altrimenti inserire il numero (cosi' come compare nell'elenco di colonna A prima del "trattino").
Il nuovo codice:
Codice: Seleziona tutto
Sub DayRIEP2()
'Vedi http://www.pc-facile.com/forum/viewtopic.php?f=26&t=109392&p=645418#p645418
Dim cSh As Worksheet, rSh As Worksheet, tSped As String, cSped As String
Dim myNext As Long, cVal As Single, speDat As Date
'
'Scelta della filiale; vuoto = Tutte le filiali:
tSped = Application.InputBox("Numero della filiale? (vuoto per TUTTE)", "Quale filiale?", , , , , , 2)
If Right(" " & tSped, 1) <> "-" And Len(tSped) > 0 Then tSped = tSped & "-"
'
Set cSh = ActiveSheet
Sheets.Add after:=cSh
Set rSh = ActiveSheet
rSh.Range("A1:C1") = Array("Spedizione", "Data", "Valore")
cSh.Select
'
For I = 2 To Cells(Rows.Count, 1).End(xlUp).Row
    If Left(Cells(I, 1), Len(tSped)) = tSped Then
        cSped = Cells(I, 1)
        If Cells(I, "D").Value <> "" Then speDat = Cells(I, "D").Value
        If cSped = Cells(I + 1, 1) Then
            cVal = cVal + Cells(I, "Q") + Cells(I, "V") + Cells(I, "W") + Cells(I, "X") + Cells(I, "Y")
        Else
            cVal = cVal + Cells(I, "Q") + Cells(I, "V") + Cells(I, "W") + Cells(I, "X") + Cells(I, "Y")
            myNext = rSh.Cells(Rows.Count, 1).End(xlUp).Row + 1
            rSh.Cells(myNext, 1) = cSped
            rSh.Cells(myNext, 2) = speDat
            rSh.Cells(myNext, 3) = cVal
            cVal = 0
        End If
    End If
Next I
Dim filMsg As String
If tSped = "" Then filMsg = "TUTTE" Else filMsg = tSped
MsgBox ("Completato; filiale: " & filMsg)
End Sub

La precedente Sub DayRIEP puoi cancellarla, perche' funzionalmente sostituibile dalla nuova DayRIEP2

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19228
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Matrice per totale giornaliero per data

Postdi danibi60 » 27/08/18 11:02

Ciao Anthony,

quanto hai compreso è l'essenza della mia richiesta e mi complimento per la Tua sempre impeccabile professionalità e capacità...DAVVERO!!

La macro così è modificata rispecchia quanto desideravo e è perfetta!

Ti ringrazio infinitamente,

Danibi
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Win 10 & Office365 Premium
danibi60
Utente Senior
 
Post: 493
Iscritto il: 11/07/13 09:21
Località: Bergamo

Re: Matrice per totale giornaliero per data

Postdi danibi60 » 30/08/18 20:23

Ciao Anthony, mio salvatore, come stai?

ogni tanto mi faccio vivo e, con l'occasione, visto che spesso mi rivolgo a Voi per aiuti, supporto e consigli, vorrei, non potendo più di tanto - causa una palese incompetenza in merito all'informatica - aiutare gli altri con azioni e soluzioni dinamiche risolvere loro i problemi, cercare di aiutare questo portale magari in altro modo... magari economicamente se fosse necessario oppure in qualche modo che sono certo mi indicherai Tu e che sono certo centrerà appieno la mia richiesta e disponibilità.
Resto quindi in attesa di tue.

Nel frattempo torno a chiederti aiuto:

Vorrei mettere a confronto due file in excell che contengono (come per i file che mi hai già elaborato in passato) un unica discriminante alla quale fare riferimento (il n° di spedizione) e che mi serve per avere i totali da mettere a confronto alla fine del mese.

Nel file del quale allego il link vi sono due fogli denominati:
1) Competenze Passive
2) fattura

Ogni mese (verso la fine) io estraggo questi due fogli dal gestionale e li copio in unico file per poterli mettere a confronto.

Come ti ho detto per entrambi i fogli l'unica discriminante che collega i totali è il numero di spedizione presente in entrambi i fogli.

Nel foglio1(Competenze Passive) io vedo le spedizione con il costo totale indicato in un unica cella, esempio:

N° spedizione 241-84971 (vedi cella B9 che ti ho evidenziato ) totale della spedizione (vedi cella AJ9) €4,90

Nel foglio2 (Fattura) la stessa spedizione 241-84971 è "esplosa" nelle celle D445:D449 e così anche il suo totale AA445:AA449 €4,90

Ora, può capitare che si creino delle differenze tra questi totali tra alcune spedizioni o che alcune addirittura possano sparire, indi per cui riscontrare il valore sul foglio1 ma non riscontrarlo più nel foglio2

In sostanza vorrei chiederti se è possibile creare una macro che generi un foglio nel quale si evidenzino queste differenze.

Una sorta di report che metta a confronto i dati delle rispettive spedizioni tra quanto mi compare sul foglio competenze e quello che invece mi fatturano alla fine del mese.che spesso a differenze in più o a volte in meno

Naturalmente useri sempre lo stesso file ogni mese e copierei sopra i rispettivi fogli i dati finali da mettere a confronto, al fine così d'utilizzare la stessa macro

Spero nel mio tortuosismo dialettico da principiante d'essermi spiegato con chiarezza e confido come sempre nella tua sopraffina intelligenza per comprenderne l'essenza.

https://www.dropbox.com/s/2r6ejelfehl4i ... .xlsx?dl=0

Ciao Danibi60
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Win 10 & Office365 Premium
danibi60
Utente Senior
 
Post: 493
Iscritto il: 11/07/13 09:21
Località: Bergamo

Re: Matrice per totale giornaliero per data

Postdi Anthony47 » 30/08/18 22:08

Mi spiace, ma (nonostante le profferte economiche) questa la devi risolvere da solo usando piu' o meno questa procedura:
-ti crei dai dati di foglio Fattura una tabella pivot che riepiloghi ogni Num-Spedizione (campo Etichetta di riga) e che calcoli la somma di Imponibile (campo Sommatoria Valori); accertati che Imponibile venga visualizzata come Somma di Imponibile (e non, ad esempio, Conteggio di Imponibile)

-ora hai in un nuovo foglio il riepilogo delle spedizioni e del relativo costo fatturato; supponiamo che la tabella occupi A2:B2 e sottostanti

-In D2 di questo nuovo foglio importa da foglio Competenze Passive il costo delle spedizioni con la formula
Codice: Seleziona tutto
=CERCA.VERT(A2;'Competenze Passive'!B:AJ;35;0)

Copia poi D2 verso il basso fino e oltre l'elenco della tabella pivot

In questo modo avrai in colonna D i costi come risultano dal foglio Competenze Passive; se quella spedizione manca su foglio Competenze Passive avrai errore #N/D

-In F2 creati un flag con questa formula
Codice: Seleziona tutto
=SE.ERRORE(--(ASS(D2-B2)>0,001);100)

Copia F2 verso il basso come la colonna D. In questo modo avrai in colonna F il risultato 0, se i valori sono max discordanti di 0,001; 1 se la differenza e' superiore a 0,001; 100 se quella spedizione manca nel tuo foglio Competenze Passive

Applica il filtro su colonna F e vedrai che (sul file che hai pubblicato), la spedizione 005-14085 manca nel tuo foglio (codice 100); 38 spedizioni hanno una differente valorizzazione (con una differenza a tuo favore di Euro 23,71)


Devi ora fare il confronto "viceversa", per cercare eventuali spedizioni presenti nel tuo foglio ma assenti nel foglio Fattura. Per questo ti bastera' inserire un Cerca.Vert che cerchi il codice spedizione nella colonna A del foglio della tabella pivot; l'errore #N/D indichera' che il tuo codice manca tra le fatturazioni

Con un po' di arguzia potrai ingegnerizzare "la cosa" in modo che bastera' sostituire il contenuto dei fogli FATTURA e Competenze Passive, "aggiornare" la pivot (tasto destro, scegli Aggiorna) e avere i dati gia' pronti per essere esaminati.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19228
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Matrice per totale giornaliero per data

Postdi danibi60 » 31/08/18 10:57

Anthony,

non volevo offendere nessuno spero, con un gesto che, come detto merita tutto il rispetto della sincera proposta in quanto ho sempre ricevuto aiuti e benefici da questo portale e mi sembrava corretto, non solo chiedere, ma nelle mie disponibilità supportare e gratificare chi si prodiga instancabilmente per me e le mie richieste, ma tant'è!

Infine, ti ringrazio infinitamente d'avermi gratificato di cotanta capacità informatica, ma credo di aver capito poco e compreso ancor di meno... ma si sa, come avevo scritto, non essendo uno smanettone, certi passaggi che tu descrivi con noncurante facilità per me sono abbastanza complessi.

Grazie lo stesso,

Daniby60.
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Win 10 & Office365 Premium
danibi60
Utente Senior
 
Post: 493
Iscritto il: 11/07/13 09:21
Località: Bergamo

Re: Matrice per totale giornaliero per data

Postdi danibi60 » 31/08/18 14:36

Ciao Anthony,

sembra che (stranamente !!?? :o :o :o ) sia riuscito, grazie sopratutto alle tue precise indicazioni, nel creare quanto detto e che il risultato sia effettivamente esatto. (pat pat pat :lol: :lol: :lol: sulla spalla destra!)

Ora, una sola finezza di carattere meramente estetico che di seguito ti indico?

Ho creato una formula in cella H al fine di capire esattamente il delta tra quanto ho nelle competenze e quanto in fattura nelle varie spedizoni

Se sommo però il risultato di colonna H2:H798 e comparendo in cella H3 #N/D anziché il totale mi compare #NOME? come posso evitare che accada?

La stessa cosa nel totale di cella D799

Ciao,
Danibi60

Allego il file

https://www.dropbox.com/s/2r6ejelfehl4i ... .xlsx?dl=0
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Win 10 & Office365 Premium
danibi60
Utente Senior
 
Post: 493
Iscritto il: 11/07/13 09:21
Località: Bergamo

Re: Matrice per totale giornaliero per data

Postdi Anthony47 » 31/08/18 22:55

sembra che sia riuscito, grazie sopratutto alle tue precise indicazioni, nel creare quanto detto e che il risultato sia effettivamente esatto

Mi sembrava infatti esagerata la tua prima risposta...

Io per calcolare la differenza tra risultato della pivot e risultanze in foglio Competenze Passive ho usato la formula
Codice: Seleziona tutto
=SE(F2=1;D2-B2;"")
(in B2 il risultato della pivot; in D2 il risultato del Cerca.Vert, cioe' quanto indicato su foglio Competenze Passive; in F2 il flag 0/1/100)

Se ti viene #NOME e' perche' hai usato una funzione inesistente; o hai digitato male una funzione esistente: infatti in H799 trovo la formula =SOM\MA(H2:H798)

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19228
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Matrice per totale giornaliero per data

Postdi danibi60 » 01/09/18 14:03

Anthony,

grazie per la formula che mi hai suggerito e che ho copiato in H2:H799 ottenendo quanto di meglio si potesse e cioè evidenziati solo gli importi delle mere differenze.

Però in colonna D e esattamente in cella D3 compare la risultanza #N/D, che di fatto, grazie alla tua formula permette di identificare eventuali spedizioni annullate, ...ma questo (#N/D) impedisce di visualizzare in cella D799 il totale della colonna... si può ovviare a questo problema?

https://www.dropbox.com/s/fm9jn66djt0rt ... .xlsx?dl=0

Grazie,
Daniby60
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Win 10 & Office365 Premium
danibi60
Utente Senior
 
Post: 493
Iscritto il: 11/07/13 09:21
Località: Bergamo

Re: Matrice per totale giornaliero per data

Postdi Anthony47 » 01/09/18 23:21

Per me la colonna D serve solo a decodificare se la voce manca nel foglio Competenze Passive, e creare il flag 0/1/100 in colonna F; e poi mi pare che la somma di quei valori non abbia nessun significato.
Comunque puoi usare Somma.Se; es
Codice: Seleziona tutto
=SOMMA.SE(D2:D800;"<>#N/D")

Oppure, da Office 2010 in avanti, puoi usare la funzione Aggrega:
Codice: Seleziona tutto
=AGGREGA(9;6;D2:D800)

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19228
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Matrice per totale giornaliero per data

Postdi danibi60 » 02/09/18 13:10

Anthony, Infatti la somma in F non serve a nulla l'ho inserita come prova e morta lì.

Grazie per le due formule che non conoscevo per funzionalità.

Buona domenica,
Daniby60
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Win 10 & Office365 Premium
danibi60
Utente Senior
 
Post: 493
Iscritto il: 11/07/13 09:21
Località: Bergamo

Re: Matrice per totale giornaliero per data

Postdi danibi60 » 18/09/18 07:28

Ciao Anthony, come stai?

Ogni tanto ti scoccio come le mie piccole rogne...

relativamente al vecchio file (formidabile) che di fatto ha dato origine a questa pagina, Ti segnalo che se provo ad aprire il file, aggiornando con tutte le procedure delle macro la pivot non mantiene l'origine dati ma ritorna ogni volta al giorno 13.

Se vuoi fare una prova apri il file che ti allego, vedrai che la pivot è aggiornata correttamente al giorno 17, se clicchi su di un altro foglio qualunque del file e poi ritorni alla pivot, questa ritorna al giorno 13 modificando l'origine dati della stessa che anziché essere come da me impostato a C5000 torna a C1000... è come se il file fosse abilitato alla sola lettura, peccato che non riesca a comprendere come abbia fatto a portarlo ad una simile condizione... ho provato anche a modificare il nome, ma nulla da fare tutto torna come prima.

Mi puoi svelare l'arcano mistero?

https://www.dropbox.com/s/8gqf5n8jnu87k ... .xlsm?dl=0

Grazie,

DAniby
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Win 10 & Office365 Premium
danibi60
Utente Senior
 
Post: 493
Iscritto il: 11/07/13 09:21
Località: Bergamo

PrecedenteProssimo

Torna a Applicazioni Office Windows


Topic correlati a "Matrice per totale giornaliero per data":


Chi c’è in linea

Visitano il forum: Nessuno e 41 ospiti

cron