Hardware Upgrade Forum

Hardware Upgrade Forum (https://www.hwupgrade.it/forum/index.php)
-   Programmi e Utility (https://www.hwupgrade.it/forum/forumdisplay.php?f=37)
-   -   Excel: problematiche e soluzioni (https://www.hwupgrade.it/forum/showthread.php?t=2102242)


Raffaele53 19-08-2010 19:45

Dopo la copia, devi aggiornare la data in "Riferimento Settembre"

Per come ho capito, hai creato un files di "riferimento" dove hai inserito una data.
Ad ognuno dei 300 files all'interno di "AGOSTO" hai scritto una formula per andarsi a cercare nel files "riferimento" il valore della data.
A parte il fatto che ogni volta che aprirai un qualsiasi files ti apparirà un messaggio che chiede se desideri aggiornare si/no, presumo che tu abbia scritto male questa formula, perchè non ci dovrebbero essere disguidi del genere.

Suggerisco comunque di fare una macro sul foglio "riferimento" eseguibile una sola volta, piuttosto che vedere questo si/no ogni volta.

Ps. Se puoi inviarmi in MP il files1 + file2 + Riferimento Agosto, gli do un'occhiata (eventualmente cancella dati personali)

Munch 19-08-2010 20:15

Grazie per la risposta.
Nel file di riferimento ci sono in una cella il mese e in un'altra l'anno.
Nei 300 file ho quindi impostato la funzione DATA in una cella e FINE.MESE in un'altra.

Approfitto della tua disponibilità e ti mando in PM una semplificazione del "master"

Raffaele53 19-08-2010 21:00

Premesso che se in una cella incolli un collegamento di un'altro foglio, Excel scrive esattamente il percorso del files. Pertanto se un domani devi spostare il tutto non funzionerebbe.
Suggerimento metti la cartella MASTER direttamente sul disco C: in questo modo lo puoi spostare in qualsiasi PC, il collegamento sarebbe univoco C:\Master

Ora ho verificato la problematica, con numeri al posto di nomi (ex AGOSTO) funziona, ma come detto la struttura non mi sembra idonea.

Sicuramente trovo la soluzione, se desideri mandarmi una spiegazione dettagliata per quale motivo devi fare 300 files in ogni cartella mensile, potrei valutare meglio la questione. Anche in MP

Ps. Dentro la cartella MASTER, va bene che ci sia AGOSTO, ma dentro la cartella AGOSTO perchè ci deve essere una col nome di "Cartella 1 Ago"?
Quando copierai AGOSTO in Settembre, dentro settembre troverai ancora "Cartella 1 Ago". Non sarebbe meglio solo numeri se ti stai riferendo al giorno del mese.
ex 1°,2°,3°,4° ecc ecc

Munch 20-08-2010 14:13

Grazie, magari in PM ti spiego un po' meglio così vedi se riesci a darmi qualche dritta! ;)

Raffaele53 21-08-2010 16:11

Munch mi ha spiegato la faccenda (personale) della sua richiesta.
Non è semplice con solo formule e forse ci vorrebbe un codice. Il tutto deve risiedere su un server, pertanto la lettera del "HD" sarà differente.

Se metto la formula "Vai a prenderti la data in BASE\data.xls", a fine mese quando copio la cartella BASE e incollo come AGOSTO_2010 la formula non funziona più (funziona ma è ancora attacata alla cartella BASE e non sul nuovo percorso). Naturalmente in BASE c'è un DATA.xls
Rimangono due soluzioni, registratore escluso perchè variano percossi e files:

1) Formula che riesce ad andare nel "livello superiore" e leggere la cella A1 di DATA.xls
Con =CELLA("nomefile";A1) e mi ritrovo con la classica stringa C:\MASTER\BASE\SOCIETA\fileExcel1.xls . Da qui potrei confrontare la stringa e trovare ex C:\MASTER\AGOSTO_2010\data.xls
C'è la possibilità di dire "vai a cercarti la data in ="PATH"Foglio1!A1 ???

2) Codice, riesco a fare poco A,B,C... la mia domanda sarebbe....
Fisicamente copio BASE e incollo AGOSTO_2010, adesso creo il Files DATA.xls.
Quando apro un files residente in C:\MASTER\AGOSTO_2010\SOCIETA\ la macro può verificare che sia presente un DATA.xls nella cartella superiore e avviare per solo una volta l'aggiornamento di dette celle. Prima di casini vari, non è pericoloso avere una macro sù files residenti in un server ???

Munch 21-08-2010 20:16

Spero di non crearti troppo disturbo o farti impazzire con la mia richiesta.
Grazie ancora per lo sforzo che dimostri di stare compiendo.

Raffaele53 22-08-2010 11:49

Avrei trovato un modo con formule, poco poco poco ortodosso che però dovrebbe funzionare bene. Il foglio DATA.xls non sarà più nel mese ma esclusivamente nella cartella MASTER.
Una volta riempito il foglio con i dati che servono per ogni mese. Tramite varie funzioni (cerca.Vert, Cella, Trova, STRINGA.ESTRAI) riesco a trovare il nuovo nome della cartella. Pertanto da adesso tranne la solita schermata aggiorna SI/NO posso trovare la data relativa al mese in corso per tutti i files e per ogni mese.

Quote:

Dopo un ulteriore problema l'ho risolto definitivamente
Spero comunque che capisci la procedura.
Ciao

L'unico suggerimento che accetto è:
Quali problemi ci possono essere su un server? Dopotutto sono solo formule.

Munch 22-08-2010 20:56

Ho dato un'occhiata veloce al file che mi hai passato, magari domani me lo studio meglio.
Il ragionamento che hai seguito credo di averlo capito.
La cella A5 comunque mi da errore... se ho ben capito qui dovrei invece legere il valore della data che serve a me (cioè inizio mese)...
Ho paura risulti un po' indigesto ai colleghi...
ho bisogno di un attimo di tempo per studiarmelo. Vista la tua disponibilità magari ne approfitterò ancora.
Per skype m idevo organizzare, ho il contatto ma al momento non ho modo di effettuare chiamate (lo uso solo per chat in ufficio)
Grazie ancora! :ave:

Raffaele53 22-08-2010 21:11

Quote:

La cella A5 comunque mi da errore...
Come scritto se lo scompatti unicamente in C:\MASTER oppure anche D:\MASTER
Entrando nella cartella C:\MASTER\VUOTA, dentro SOCIETA1 o 2, aprendo il files presente.
La cella A5 dovrà riportare la data es 1/1/2000 scritta in MASTER\Mese.xls
Se noti la cella A4 deve riportare la parola "VUOTA".
Quando copierai la cartella VUOTA in altra cartella ex SETTEMBRE_2010 vedrai in A4 ->SETTEMBRE_2010 con la data cella A5 -> 01/09/2010 (dato che sei nella cartella VUOTA)
Solo adesso la vedo facile.....

Ps se fai prove sul server, provvisoriamente chiama la cartella MASTER2 e verifica la cella A4.
Se corrisponde bene, se non corrisponde devi cambiare i valori nelle celle A2/A3 di trova finchè la cella A4 non ti fa vedere la scritta "VUOTA"
Pps. Verificato il tutto e "DEVI" per forza spostarlo in MASTER (ricorda sempre i valori in A2/A3 finchè la cella A4 non ti fa vedere la scritta "VUOTA"

PPPS. Nota bene anche la casella A4 -STRINGA.ESTRAI(A1;11;(A3-A2)-1)
11 significa che deve cominciare dal 11° carattere della stringa A1

Munch 22-08-2010 21:24

Si, capito tutto.
Complimenti perchè hai avuto proprio una bella intuizione.
Potrebbe fare proprio al caso mio, devo vedere se riesco effettivamente a metterla in pratica.
Per il momento grazie, ti farò sapere se andrà a buon fine (e mi auguro proprio di si)

mithos65 24-08-2010 09:13

Ciao ragazzi, mi serve un aiuto sulla formattazione celle di un foglio excel...

la cella può contenere, ad esempio, uno di questi due valori:

0,0000005 - 1000000

io vorrei visualizzasse questo:

0,0000005 - 1.000.000

invece (lavorando con i vari #, ?, 0,00...) ottengo:

0,0000005 - 1.000.000,00

oppure

0,0000005 - 1.000.000,

vorrei il puntino separatore delle migliaia, che non fossero visualizzati gli zeri non significativi e che non si vedesse la sola virgola finale.

come debbo fare ?

grazie

Munch 24-08-2010 10:29

Credo, ma aspetto conferma da fonti più esperte, che tu debba gestire le proprietà delle celle in formato celle => nella scheda "numero".
Giocando con i vari formati disponibili (es numero o personalizzato) non dovresti avere problemi.
Io ho fatto una prova molto veloce e ci sono riuscito.

Raffaele53 24-08-2010 11:47

Non credo che tu abbia fatto la domanda per solo due celle, presumo che sia per diverse celle oppure un'intera colonna. Quale office usi?
Mettendo in formatto personalizzato #.##0 risolvi con tutti i numeri >=zero

Per quanto riguarda invece lo 0,0000005
Se questo è l'unico numero che dopo la virgola ha 6 zeri, può andare bene questa soluzione (excel 2003) dopo aver scritto #.##0 metti ;0,0000000 e se desideri puoi aggiungere anche [Rosso]

Per farlo funzionare però davanti a 0,0000005 devi mettere il segno meno

mithos65 24-08-2010 11:49

Quote:

Originariamente inviato da Munch (Messaggio 32901450)
Credo, ma aspetto conferma da fonti più esperte, che tu debba gestire le proprietà delle celle in formato celle => nella scheda "numero".
Giocando con i vari formati disponibili (es numero o personalizzato) non dovresti avere problemi.
Io ho fatto una prova molto veloce e ci sono riuscito.

Infatti è da "Personalizzato" che ho fatto le varie prove, utilizzando e combinando tra loro i caratteri formattazione a disposizione: #, ?, 0,00

ma riesco ad ottenere solo quello che ho spiegato nel messaggio precedente:

0,0000005 - 1.000.000,00

oppure

0,0000005 - 1.000.000,


ma mai:

0,0000005 - 1.000.000



tu sei sicuro d'esserci riuscito ? e se sì quali caratteri hai usato ? me li puoi scrivere, grazie

mithos65 24-08-2010 11:53

Quote:

Originariamente inviato da Raffaele53 (Messaggio 32902209)
Non credo che tu abbia fatto la domanda per solo due celle, presumo che sia per diverse celle oppure un'intera colonna. Quale office usi?
Mettendo in formatto personalizzato #.##0 risolvi con tutti i numeri >=zero

Per quanto riguarda invece lo 0,0000005
Se questo è l'unico numero che dopo la virgola ha 6 zeri, può andare bene questa soluzione (excel 2003) dopo aver scritto #.##0 metti ;0,0000000 e se desideri puoi aggiungere anche [Rosso]

Per farlo funzionare però davanti a 0,0000005 devi mettere il segno meno

Utilizzo Excel 2003, la cella è unica e contiene un'operazione aritmetica che può dare come risultato un numero con decimali o un numero intero.

Vorrei che nel caso desse un numero intero non visualizzasse la virgola e gli zeri non significativi che seguono.
Ma non ci riesco.

Ti descrivo bene le formule:

=SE(C12>140;B12/1000;B12*1000)

quindi se B12=18

allora
se C12=150 la cella visualizzerà: 0,018 (mi va bene)

mentre
se C12=130 la cella visualizzerà: 18000 (non mi va bene)


siccome io voglio che nel caso di numero intero venga visualizzato: 18.000
ho formattato così: #.#0,000
ma quello che vedo è: 18.000,000

poi ho provato così: #.#0,???
ma quello che vedo è: 18.000,
ma io non voglio che si veda la virgola da sola (è antiestetica)

come posso fare perchè visualizzi: 18.000 ?


:o)

Raffaele53 24-08-2010 13:38

Innanzitutto alla tua formula devi aggiugere un =, intendo che eventualmente il valore deve partre da:
=SE(C12>=140;B12/1000;B12*1000 (uguale-maggiore)
=SE(C12<=140;B12/1000;B12*1000 (uguale-minore)

Poi la formula presumo l'hai messa in D12. Questa cella sarà sempre positiva anche se mettessi 0,0001 in B12
A questo punto in E12 scrivi =SE(D12>=1;D12;D12-(D12*2)) e formatti la cella E12 in personalizzata con #.##0;0,000000

Da verificare gli 000000, il tutto va da riercarsi nei valore che metti in B12
casomai togli qualche zero o aggiungi (ci deve essere un via che Ti vada bene)

Ps. Parlavi di pura visualizzazione (tieni conto che la cella E12 a il segno negativo nel caso 0,000x), non farci altre formule sopra.

ses4 24-08-2010 17:26

Quote:

Originariamente inviato da mithos65 (Messaggio 32902264)
Utilizzo Excel 2003, la cella è unica e contiene un'operazione aritmetica che può dare come risultato un numero con decimali o un numero intero.

Vorrei che nel caso desse un numero intero non visualizzasse la virgola e gli zeri non significativi che seguono.
Ma non ci riesco.

Ti descrivo bene le formule:

=SE(C12>140;B12/1000;B12*1000)

quindi se B12=18

allora
se C12=150 la cella visualizzerà: 0,018 (mi va bene)

mentre
se C12=130 la cella visualizzerà: 18000 (non mi va bene)


siccome io voglio che nel caso di numero intero venga visualizzato: 18.000
ho formattato così: #.#0,000
ma quello che vedo è: 18.000,000

poi ho provato così: #.#0,???
ma quello che vedo è: 18.000,
ma io non voglio che si veda la virgola da sola (è antiestetica)

come posso fare perchè visualizzi: 18.000 ?


:o)

Non so se sia possibile fare quanto chiedi con la formattazione personalizzata.
Potresti risolvere facilmante utilizzando la formattazione condizionale, dando alla cella la formattazione standard e impostando su "formattazione condizionale" la formula =C12<=140 e il formato che preferisci.

Ciao

Raffaele53 24-08-2010 19:20

Scusami Ses4, a me funziona....,comunque dentro la condizionale bordi, Carattere, colori ecc ecc, mà non la visualizzazione richiesta (almeno sul mio).

Mi sono riletto e ho notato che ho scritto male, ci riprovo....
A1=18
B1=141
C1= -->=SE(B1>=140;A1/1000;A1*1000)----->0,018

Fin qui ci siamo, ora per usare il ";" in personalizzata, bisogna che la cella sia Positiva o Negativa. Da qui l'esempio di fare diventare il numero C1 positivo o negativo.
D1=-->=SE(C1>=1;C1;C1-(C1*2))-----------> -0,018

Cella D1 Formato personalizzata con #.##0;0,000000 ---> 0,018000
Riprova, metto la cella B1=139 -----------------------> 18.000

Come detto per arrivare a 0,000000X ho messo 6 zeri.
Anche se mi sembra strano perchè per aver 6 zeri,la cella A1 dovrebbe essere 0,00X e naturalmente formattazione con 6 zeri si vedra i numeri superiori ex 18 come 0,018000

mithos65 25-08-2010 11:23

Quote:

Originariamente inviato da Raffaele53 (Messaggio 32903412)
Innanzitutto alla tua formula devi aggiugere un =, intendo che eventualmente il valore deve partre da:
=SE(C12>=140;B12/1000;B12*1000 (uguale-maggiore)
=SE(C12<=140;B12/1000;B12*1000 (uguale-minore)

Poi la formula presumo l'hai messa in D12. Questa cella sarà sempre positiva anche se mettessi 0,0001 in B12
A questo punto in E12 scrivi =SE(D12>=1;D12;D12-(D12*2)) e formatti la cella E12 in personalizzata con #.##0;0,000000

Da verificare gli 000000, il tutto va da riercarsi nei valore che metti in B12
casomai togli qualche zero o aggiungi (ci deve essere un via che Ti vada bene)

Ps. Parlavi di pura visualizzazione (tieni conto che la cella E12 a il segno negativo nel caso 0,000x), non farci altre formule sopra.

Intanto grazie per avermi risposto Raffaele53...

trasformare in negativo per poter utilizzare il ";" in Personalizzato di Formato celle in maniera da prendere due "strade" di formattazione a seconda del segno...è una trovata geniale ;o) bravo

positivo ; negativo

mi sei stato molto utile, ti ringrazio molto


:o)

+Benito+ 25-08-2010 16:28

In excel c'è modo di scrivere riferimenti relativi alla cella in cui è presente la formula?
una specie di:

=A9+@(-1|-3)

dove somma i contenuto di A9 al contenuto della cella posta a -1 colonna e -3 righe rispetto alla cella in cui c'è la formula.

Grazie


Tutti gli orari sono GMT +1. Ora sono le: 08:10.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Hardware Upgrade S.r.l.