Condividi:        

Excel - Memorizzare dati e richiamarli.

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

Excel - Memorizzare dati e richiamarli.

Postdi nelson1331 » 21/02/22 14:55

Ciao Anthony47.
Ogni tanto vengo a farti visita, cosi' non ci dimentichiamo l' uno dell' altro.
Oggi ti presento questo problema, per vedere se puoi aiutarmi.
Nella pagina W1 alla casella J22 ho un command button (ipotizzo da 1 a 1000), che vorrei intervenisse quando l' indice giunge al valore 3, mentre non dovrebbe verificarsi alcuna operazione per i valori da 1 a 2.
Cio' che vorrei e' che giungendo al valore 3, possa richiamare valori, che avro' opportunamente memorizzati e che spieghero' meglio nei punti successivi, cosa intendo per memorizzare e richiamo della memoria.
Ho a disposizione solo 2 fogli di calcolo e vorrei rimanere in questo ambito, perche' se venisse creato 1 nuovo foglio oltre al numero 2, avrei poi difficolta' nel richiamare i dati in esso presenti, assumendo volta per volta un nome di foglio diverso.
Percio' se sara' possibile, vorrei che rimanessero solo 2 fogli.
Il foglio numero 1 e numero 2 contengono le stesse identiche modalita' di calcolo ed i risultati sono specificati in sole 3 righe.
Nello specifico le 3 righe interessate per ciascun foglio sono :
A1-AS1 definiti "PRESENTI" che contiene 45 numeri (sempre e solo valori numerici, niente celle bianche, niente lettere)
A95-AS95 definiti "ASSENTI" che anche questo contiene 45 numeri
A191-AS191 definiti "PRESENTI-NEWS" che anche questo contiene 45 numeri
Mentre il foglio 1 avra' valori permanenti e quindi non ho necessita' di memorizzare nulla, il foglio 2 dovra' memorizzare queste 2 formazioni da 45 numeri :
A95-AS95 definiti "ASSENTI"
A191-AS191 definiti "PRESENTI-NEWS"
Cosa dovra' fare il richiamo della memoria dei suddetti valori ?
Ipotizziamo allora di digitare 3 nel command button del foglio "W1".
A questo punto, dovrebbe scrivere nel foglio 2 :
richiamare la formazione memorizzata precedentemente A191-AS191 e scriverla nelle caselle A1-AS1 (Attenzione : cambiano le posizioni)
richiamare la formazione memorizzata precedentemente A95-AS95 e scriverla ancora nelle caselle A95-AS95 (Non cambiano le posizioni)
Se col command button andro' a digitare 4, dovrebbe prima aver memorizzato i dati suddetti, quando pero' avevo digitato 3.
In pratica deve memorizzare questi dati, utilizzando l' indice precedente del command button e poi una volta che incremento lo stesso, tornare a restituirmeli.
Attenzione, perche' in ognuno dei fogli vi sono calcoli, algoritmi e percio' se riuscirai ad indicarmi la via da seguire, non dovra' resettare le medesime pagine, altrimenti perderei tutto.
Se sara' possibile evitando le macro, ne sarei falice, altrimenti seguiro' anche tale introduzione.
Spero di essere stato sufficientemente chiaro.
Se qualcosa non risultasse chiaro, chiedi e cerchero' spiegazioni ed esempi migliori.
Sempre un grazie anticipato ed una buona giornata.
nelson1331
Utente Junior
 
Post: 93
Iscritto il: 18/02/08 08:58

Sponsor
 

Re: Excel - Memorizzare dati e richiamarli.

Postdi Anthony47 » 21/02/22 16:07

Ci sono troppe cose che non ho afferrato e su cui devi dare qualche informazione in piu'...
Intanto che cosa intendi per Command Button (perche' quello che conosco io ne' assume un valore ne' ha un indice, ne' puo' intervenire da solo se non cliccato)
Poi vorrei sapere se "PRESENTI", "ASSENTI", "PRESENTI-NEWS" sono intervalli definiti sul foglio1 o su foglio2 e se hanno validita' limitata al foglio o estesa alla cartella di lavoro.
Poi parli essenzialmente di una rotazione da fare sui dati di foglio2 per cui PRESENTI-NEWS va in PRESENTI; mentre non afferro l'utilita' di "richiamare la formazione memorizzata precedentemente A95-AS95 e scriverla ancora nelle caselle A95-AS95", visto che si tratta degli stessi dati nelle stesse posizioni.
Altri dubbi sono figli di questi, per cui aspetto i tuoi chiarimenti per capire se capisco altrimenti invece di risposte avrai altre domande.
Indica pure la versione di Office che usi.

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

Re: Excel - Memorizzare dati e richiamarli.

Postdi nelson1331 » 22/02/22 08:17

Ciao Anthony47,

Intanto che cosa intendi per Command Button (perche' quello che conosco io ne' assume un valore ne' ha un indice, ne' puo' intervenire da solo se non cliccato)
Giustissimo : intendo un comando che se cliccato, possa assumere nuovi valori : da... a...
Questa e' la mia visione momentanea, di un comando che possa intervenire a determinate condizioni.
Se tu riterrai vi sia una soluzione migliore, ben venga : l' accetto volentieri.

Poi vorrei sapere se "PRESENTI", "ASSENTI", "PRESENTI-NEWS" sono intervalli definiti sul foglio1 o su foglio2 e se hanno validita' limitata al foglio o estesa alla cartella di lavoro.
Ti allego un link, nel quale spero tu possa comprendere le voci che ho indicato e come vorrei fossero gestite nella condizione di disporre solo di 2 fogli : questa e' condizione essenziale ed imprescindibile.
Il foglio 3 in realta' non dovra' mai esistere : creero' la condizione per fare i calcoli ma, sempre e solo sul foglio 2, attingendo i dati, dalla precedente elaborazione.
Cosi' sara' per tutti i fogli successivi al 2. Tutto dovra' essere ricondotto semplicemente ai fogli 1 e 2.
Provo ad esemplificare : momentaneamente immagina vi siano 10 fogli di lavoro.
I dati che a me interessano, verranno presi dal foglio 2 e scritti nei punti appropriati del foglio 3.
Cosi' se saro' giunto al foglio 4, prelevero' i dati a me interessati, dal foglio 3.
Se giungo al foglio 5, prelevo i dati dal foglio 4 e cosi' via.
La cosa che pero' dovro' fare (e qui rientra il tuo aiuto) e' che quando vorro' creare il foglio 3, non dovro' scrivere il foglio 3, bensi' andare a prendere i dati a me interessati dal foglio 2 (quelle 2 righe da 45 numeri chiamate presenti News ed Assenti) e tornarli a scrivere con le modalita' indicate nel post iniziale, sempre e solo nel foglio 2, evitando di aggiungere altri fogli.
Andro' a lavorare sempre e solo, sulla sagoma, forma ed area del foglio 2.
Cosi' se dovessi trovarmi all' ipotetico foglio 4 : andrei ad attingere i dati a me interessati dal foglio 3 e li sovrapporrei (come gia' indicato) nelle caselle del foglio 2.
Il foglio 2 e' insomma una lavagna, che mi permette di scrivere solo alcune righe composte da 45 numeri, nei punti interessati.
Mi deve permettere di cancellare i dati che sono serviti allo step precedente, ed inoltre avendoli memorizzati, mi deve permettere di scriverli nei punti indicati, per ripetere nuovamente le operazioni.
Il foglio 2 si presta cioe' ed essere una lavagna, che cancella e riscrive i dati della precedente elaborazione, all' infinito !
I dati li raccolgo dal precedente step o ciclo o come tu vorrai chiamarlo (ad esempio con l' indice che si muove con il command button).

Poi parli essenzialmente di una rotazione da fare sui dati di foglio2 per cui PRESENTI-NEWS va in PRESENTI; mentre non afferro l'utilita' di "richiamare la formazione memorizzata precedentemente A95-AS95 e scriverla ancora nelle caselle A95-AS95", visto che si tratta degli stessi dati nelle stesse posizioni.
E' comprensibile, che debba tenere memorizzati quei dati, altrimenti dovendo sovrascrivere sempre e solo il foglio 2, come potrei farlo ? Il ciclo o passaggio precedente si sarebbe concluso ed io in linea, cosa potrei mettere nelle caselle A95-AS95, se sono avanzato nella mia posizione ? I dati precedenti, non li avro' piu' in linea ! Giusto ?

Io uso Office2010

https://1drv.ms/x/s!ApTdq9BQgwZZnUBp1hc ... D?e=DGz5Fl

Grazie ancora Anthony47 per il tuo apporto.
Buona giornata.
nelson1331
Utente Junior
 
Post: 93
Iscritto il: 18/02/08 08:58

Re: Excel - Memorizzare dati e richiamarli.

Postdi Anthony47 » 22/02/22 12:15

Allora quello che tu avevi chiamato CommandButton e' un controllo "Casella di selezione"; ne hai usato diversi su foglio W1, e li usi per incrementare /decrementare la relativa cella collegata.

Per il resto continuo nella mia confusione...

La cosa che pero' dovro' fare (e qui rientra il tuo aiuto) e' che quando vorro' creare il foglio 3, non dovro' scrivere il foglio 3, bensi' andare a prendere i dati a me interessati dal foglio 2 (quelle 2 righe da 45 numeri chiamate presenti News ed Assenti) e tornarli a scrivere con le modalita' indicate nel post iniziale, sempre e solo nel foglio 2, evitando di aggiungere altri fogli
Stai dicendo che vuoi un aiuto a creare facilmente il foglio "3" che comprenda un set dei dati gia' presenti su foglio "2"?

Ma se fose questa la domanda, come quaglia con la tua indicazione "Il foglio 3 in realta' non dovra' mai esistere : creero' la condizione per fare i calcoli ma, sempre e solo sul foglio 2, attingendo i dati, dalla precedente elaborazione"

Semplifichiamo... Senza spiegarmi come funziona il tuo file: quali sono i fogli e i dati da cui parti? Su quei dati cosa bisogna farci?

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

Re: Excel - Memorizzare dati e richiamarli.

Postdi nelson1331 » 22/02/22 13:49

Ciao Anthony47.
Semplifichiamo... Senza spiegarmi come funziona il tuo file: quali sono i fogli e i dati da cui parti? Su quei dati cosa bisogna farci?

I dati ormai dovresti conoscerli :
tralasciando gli algoritmi, perche' mi hai detto che non t' interessano, i dati sono quelli delle 3 linee (N.1 N.95 e N.191)
Sono 2 fra questi 3 che si muovono costantemente da un foglio, per passare a quello immediatamente successivo : sono cioe' fogli che hanno i dati concatenati.
Sono sempre e solo le linee n.191 e la linea 95 che si muovono da un foglio a quello immediatamente successivo.
Ripeto questo concetto perche' tu possa comprenderlo bene : sono dati che si muovono in sequenza ordinata, rispettando l' avanzamento col +1 (dei vari step), ed avendo cura ovviamente di partire dalla base, col valore minimo =1. Altrimenti, non funziona.
In sintesi : i dati del foglio 1 vanno a generare l' input del foglio 2.
I dati del foglio 2 in excel, vanno a generare l' input del foglio 3 (che non voglio) perche' desidero che tutto venga fatto all' interno del foglio 2.
Sempre con riferimento ad excel, i dati del foglio 3 sono quelli che generano l' input per il foglio 4 (che come detto sopra, non dovra' esistere, poiche' tutti i calcoli, step by step saranno da eseguire nel foglio 2 e sempre e solo su questo : niente di piu' e niente di meno).
Il foglio da cui parto e' il n.1
I dati di partenza li leggi nella 1° riga da A1-AS1 Presenti.

Sai percio' che proprio su quella riga, esistono 45 numeri, che posso calcolare e prelevare con una miriade di possibilita' (superfrequenti, ritardatari, numeri spia etc....).
Comunque te lo confermo, il punto iniziale dei calcoli e' la 1° riga del foglio n.1
Eseguo delle operazioni o algoritmi ed il 1° risultato lo ritrovi alla riga 95 (A95-AS95) sempre del foglio n.1 (45 numeri) Assenti.
Con gli stessi algoritmi summenzionati eseguo un altro passaggio ed ottengo la riga 191 (A191-AS191) sempre del foglio n.1 (45 numeri) Presenti News.
I dati raccolti dal foglio n.1 (le 3 righe suddette e di queste solo 2 in particolare) diventano percio' il motore, per i calcoli successivi nel foglio 2.
Del foglio n.1 non devo memorizzare nulla, perche' e' l' elemento che trasmettera' direttamente i dati al foglio n.2 e sara' sempre cosi'
Quando percio' andro' a caricare i dati dal foglio 1 al foglio 2, la 1° volta, (quindi 1° passaggio), non devo memorizzare niente, perche' e' un' operazione consequenziale : dovro' invece memorizzare i dati, solo quando esco dal foglio n. 2 perche' quelle 2 linee (linea 191 e linea 95) dovranno di nuovo ripetere i calcoli nello stesso identico modo che avevo fatto in precedenza.
Percio' nel foglio 2 la maschera dei calcoli e' costante ed immutabile.
Il foglio 2 per farti un altro paragone, diventa una calcolatrice, nella quale andro' a mettere (con il richiamo dalla memoria), quei dati (le 2 righe n.191 e n.95) che avro' memorizzato nel passaggio precedente.
Cambieranno solo ad ogni passaggio, le variabili che andro' ad immettere nella riga n.1 e nella riga n.95 ma, i calcoli saranno sempre collocati nei medesimi punti, cosi' come le 3 linee o come le chiami tu "Dati" saranno sempre la n.1 la n.95 e la n.191

Anthony47 di piu' in questo momento, non riesco a trasmetterti.
Con il mio pensiero, ho individuato nel command button, l' elemento che mi dira' : quale step vuoi eseguire ?
E' chiaro e lampante, che dovro' muovermi in maniera ordinata partendo dal 1° step o passaggio ed incrementandolo +1 con il click di avanzamento. Quindi dovro' per forza, partire dal valore minimo iniziale =1 e col +1 (se si riuscira' a fare), potro' arrivare all' infinito.
Sono quindi sicuro e tranquillo che quando comparira' il 3° click, dovranno per forza muoversi i dati precedentemente memorizzati.
Saranno richiamati dallo step 2 e saranno collocati nelle caselle che ti ho gia' menzionato.
O provi a dare un' occhiata al foglio excel, per comprendere quello che ho cercato di trasmetterti, altrimenti non so come fare.
In pratica hai a disposizione solo 2 fogli.
Il 1° e' quello che esegue i calcoli di partenza, che comunque sono esattamente identici a tutti gli altri fogli che uno potrebbe aggiungere.
La difficolta' consiste nell' afferrare il concetto di uso del foglio n.2
Nel 1° passaggio questo foglio prende i dati dal foglio 1 ma, completati i calcoli dovrai per forza memorizzare le 2 righe particolari( N.191 e N.95) affinche' nel medesimo foglio 2, il ciclo possa andare avanti all' infinito, richiamandoli dalla memoria.
Grazie ancora per il tuo interessamento e speriamo che questa volta, le spiegazioni che ti ho fornito, siano utili e sufficientemente chiare. Ciao.
nelson1331
Utente Junior
 
Post: 93
Iscritto il: 18/02/08 08:58

Re: Excel - Memorizzare dati e richiamarli.

Postdi nelson1331 » 22/02/22 19:46

Ciao Anthony47,
provo a fornirti un' ulteriore strategia, che presentera' piccole variazioni rispetto a quanto esposto fino ad ora, nella speranza che tutto possa realizzarsi.
Se sei d'accordo, ci faremo guidare dai click del command button.
Partiamo ovviamente col click che mi segnera' il n.1
In questa fase, la/le macro di memoria, una volta che avro' creato il foglio n.1 dovranno semplicemente memorizzare le linee ormai conosciute n.95 e n.191
Il foglio n.1 a differenza di tutti gli altri a seguire e' diverso, perche' e' permanente.
Vuol dire che una volta che l' avro' generato, dovra' essere sempre in linea, poiche' i suoi dati che andro' a riepilogare nel foglio W1, mi serviranno quale pietra di paragone e confronto, con tutti quelli che verranno dopo.

A questo punto, essendo il click del command button=1 avro' fatto queste cose :
1°) Generero' solo il foglio n.1
2°) Mettero' in memoria i dati delle linee n.95 e n.191
3°) Scrivero' i dati delle suddette linee, anche nel foglio W1.
Ci siamo fino a questo punto ?
Ok, allora procediamo con il click n.2 del command button.
Abbiamo detto che avro' in linea il foglio n.1 perche' quello e' permanente.
Tutto cio' che avverra' nel foglio 2 ed i successivi, sara' transitorio (a differenza del foglio 1 che e' permanente).
Cosa devo fare a questo punto, per elaborare il foglio 2 ?
1°) Con il richiamo di memoria, andro' a leggere i dati salvati e presi dal foglio 1 ed andro' a scriverli come indicato all' inizio di questo post, ossia la precedente linea 191 andro' a scriverla sulla linea n.1 e rimarra' immutata la posizione con i dati sulla linea 95.
2°) Dopo aver generato il foglio 2 dovro' memorizzare nuovamente le linee 95 e 191 che appartengono ovviamente a questa pagina. i.
Ogni volta che otterro' i dati dal foglio 2, li riportero' anche nel foglio W1, perche' mi serviranno quali confronti con il capostipite o linea di partenza.
In modo semplice potro' dirti che avro' il confronto fra le 2 linee capostipiti od originali e le 2 linee dati che avro' ricavato nell' ultimo passaggio.
Questi passaggi per prendere i dati dal foglio 1 o dal foglio 2, salvo errori di valutazione, non dovrebbero in nessun modo interferire con i lavori di memorizzare e richiamare i dati.
Potrai poi dirmi tu se vi saranno correzioni o modifiche nel fare queste operazioni, che ritengo banali.
Adesso procediamo con il click n.3 del command button.
Abbiamo detto che avro' in linea il foglio n.1 perche' quello e' permanente.
1°) Con il richiamo di memoria, andro' a leggere i dati salvati e presi dal foglio 2 e tornero' a scriverli nel medesimo foglio : ossia la precedente linea 191 andro' a scriverla sulla linea n.1 e rimarra' immutata la posizione con i dati sulla linea 95. Quindi, cancello, calcolo e scrivo sempre e solo all' interno del foglio 2.
Gli algoritmi ivi presenti, dovranno essere ovviamente salvaguardati e non cancellati da eventuali richiami di memoria, con macro o simili
2°) Dopo aver generato il "foglio 3" (lo chiamo cosi', solo per darti l' idea che siamo al 3° click del command button, perche' in realta' dopo il foglio 2 non dovra' esistere nessun altro foglio) dovro' memorizzare nuovamente le linee 95 e 191 che appartengono ovviamente a questa pagina.
E cosi' via fin dove potro' e vorro' elaborare.
Il meccanismo piu' complesso e' ovviamente dentro la pagina 2, perche' questa va scritta con i dati del precedente click del command button ed alla fine della medesima elaborazione dovra' memorizzare i dati che serviranno al prossimo click.
Ti sembra piu' chiara e facile, questa esposizione ?

Piccolo excursus : forse ti sarai domandato a cosa serve tutto questo marchingegno ?
E' nato da 1 domanda che mi posi ed alla quale non riuscivo a dare una risposta logica e matematica.
Se io conosco i 45 numeri, che compongono la 1° riga del foglio n.1, allora vuol dire che ho la possibilita' di sapere a priori anche le loro posizioni, perche' mi saranno suggerite o da classifiche o da tabelle.
Ovviamente conoscero' anche i 45 numeri mancanti o assenti facendo riferimento al lotto nazionale.
Se pero' ti chiedessi : Anthony47, mi dici quale sara' l' ordine degli assenti, tu cosa mi risponderai ?
Qualcuno, potrebbe dire : li leggo dal piu' piccolo al piu' grande o viceversa.
Qualche altra persona, potrebbe dire : li prendo con modalita' random.
Ebbene, ne' la 1° ne' la 2° soluzione potranno funzionare, perche' non potrai avere nessun test o controllo matematico da applicare per individuare le possibili mutazioni e/o spostamenti dei medesimi.
nelson1331
Utente Junior
 
Post: 93
Iscritto il: 18/02/08 08:58


Torna a Applicazioni Office Windows


Topic correlati a "Excel - Memorizzare dati e richiamarli.":


Chi c’è in linea

Visitano il forum: Nessuno e 60 ospiti