| | Post: 12 | Registrato il: 27/11/2010
| Città: MILANO | Età: 28 | Utente Junior | 2013 | | OFFLINE | |
|
01/12/2016 18:13 | |
Avrei la necessità di convertire un numero in gradi, primi e secondi in un modo un po' particolare. Ho utilizzato la funzione Tronca per separare da un numero l'intero dal decimale. Non so se esistano alternative in maniera tale però che il numero intero non venga arrotondato, nel caso si accettano consigli.
Vengo al nocciolo del problema: a seconda del numero inserito nel campo variabile, la funzione non sembra funzionare correttamente. Inserisco un foglio con un esempio.
Spesso se nella variabile compaiono dei decimali i valori successivi come il 18 o il 60 vengono trasformati in 17 e 59 senza motivo apparente. [Modificato da bollato 01/12/2016 18:15] |
|
| | Post: 913 | Registrato il: 10/10/2013
| Città: VICENZA | Età: 69 | Utente Senior | 365 | | OFFLINE |
|
01/12/2016 18:47 | |
Ciao
non puoi scrivere
un esempio in cui venga
il risultato errato?
basta che scrivi i numeri non riallegare il file |
| | Post: 12 | Registrato il: 27/11/2010
| Città: MILANO | Età: 28 | Utente Junior | 2013 | | OFFLINE | |
|
01/12/2016 19:01 | |
Mettiamo che il numero da processare sia 64.8
il 64 non mi interessa e lo metto da parte
il 0.8 corrisponde alla parte di un segno quindi di 30° e lo devo trasformare in gradi.
0.8*30=24
Quindi il risultato finale dovrebbe essere 24°0'0''
Il file invece, con la funziona tronca mi trasforma il 24 in 23, l' 1 che avanza viene trasformato ovviamente in primi (1*60). A sua volta i 60 primi vengono trasformati in 59 primi con uno che avanza etc.
Non capisco perchè si comporti così. |
| | Post: 13 | Registrato il: 27/11/2010
| Città: MILANO | Età: 28 | Utente Junior | 2013 | | OFFLINE | |
|
01/12/2016 19:09 | |
Nell'esempio del file il 18 dovrebbe restare tale e non essere processato in 17 e 1 dalla funzione tronca. Ho provato anche con la funzione INT e mi da lo stesso problema. |
| | Post: 914 | Registrato il: 10/10/2013
| Città: VICENZA | Età: 69 | Utente Senior | 365 | | OFFLINE |
|
01/12/2016 19:10 | |
in E5
=ARROTONDA.PER.ECC(D8;0)
per excel 06x30=23,99999999999990000
|
| | Post: 915 | Registrato il: 10/10/2013
| Città: VICENZA | Età: 69 | Utente Senior | 365 | | OFFLINE |
|
01/12/2016 19:21 | |
Non so se può andare bene ma io farei così
|
| | Post: 14 | Registrato il: 27/11/2010
| Città: MILANO | Età: 28 | Utente Junior | 2013 | | OFFLINE | |
|
01/12/2016 19:26 | |
Accidenti, ci avevo pure pensato potesse essere una scemenza simile e avevo provato a cambiare il formato cella... solo che non ero andato oltre 12 decimali e fino a lì te lo fa vedere sempre come 18,0000000...
Vabbè, grazie per il prezioso aiuto. |
| | Post: 15 | Registrato il: 27/11/2010
| Città: MILANO | Età: 28 | Utente Junior | 2013 | | OFFLINE | |
|
01/12/2016 19:46 | |
Si anche in quel modo può andar bene. Grazie ancora |
| | Post: 16 | Registrato il: 27/11/2010
| Città: MILANO | Età: 28 | Utente Junior | 2013 | | OFFLINE | |
|
03/12/2016 19:48 | |
Mi sa che c'è un problema; l'arrotondamento va bene ma non sempre, perchè in alcuni casi il numero che si arrotonda non è frutto dell'errore di excel ma semplicemente del calcolo, in tal caso non andrebbe arrotondato.
Comunque mi par di capire che il problema stia a monte, cioè i numeri con decimali infiniti excel li riconosce solo fino ad una certa cifra; per es. il numero decimale periodico 0.7833333333333333333333333 etc diventa 0,7833333333333330000000000000; da questo credo nasca il mio problema.
Non esista alcuna soluzione a questo problema che voi sappiate? O eventualmente un'alternativa ad excel a questo punto?
[Modificato da bollato 03/12/2016 19:49] |
| | Post: 3.574 | Registrato il: 04/07/2012
| Città: BARCELLONA POZZO DI GOTTO | Età: 61 | Utente Master | 2010 | | OFFLINE |
|
04/12/2016 09:09 | |
ciao
non ho chiaro del tutto cosa vuoi ottenere ed in quanti primi divi un grado ed in quanti secondi dividi un primo, comunque, una formula che potresti usare, magari adattandola:
es.
in B4:
=ARROTONDA(RESTO(B3;1);6)*30
e trascini giù, ottenendo così:
gradi, primi e secondi.
Puoi eventualmente sostituire il 30 con 60 se la divisione fosse sessagesimale e non trentesimale come hai fatto capire
--------------------------------------------------
"So che spiegare il proprio problema, in modo comprensibile, richiede un certo impegno ed è un lavoro "palloso", ma qualcuno lo deve pur fare ....., indovina chi?" (Cit. "Scossa")
--------------------------------------------------
excel 2010 ,
Win 8 |
| | Post: 17 | Registrato il: 27/11/2010
| Città: MILANO | Età: 28 | Utente Junior | 2013 | | OFFLINE | |
|
04/12/2016 12:56 | |
Il numero iniziale fornisce i segni e i gradi; nell'esempio si hanno 153 segni e 0,6 parti di segno cioè 0.6*30° = 18°.
Se però il numero iniziale non è un numero finito nascono i problemi.
Prendiamo per es. il numero 38,26458333333333333333333 etc. o qualsiasi numero con numeri decimali non finiti.
38 segni e 0,264583333333333333333333333333*30 cioè 7,9375 gradi, quindi 7 gradi e (parte decimale*60) 56,25 primi cioè 56 primi e (parte decimale*60) 15 secondi.
Ma siccome per excel il numero iniziale è 38,2645833333333000000 il risultato sarà 7,937499999999000000000000000000 e di conseguenza tutti i calcoli si porteranno dietro quell'errore avendo come risultato finale 7°56'14" anzichè 7°56'15".
[Modificato da bollato 04/12/2016 12:58] |
| | Post: 3.575 | Registrato il: 04/07/2012
| Città: BARCELLONA POZZO DI GOTTO | Età: 61 | Utente Master | 2010 | | OFFLINE |
|
04/12/2016 16:31 | |
ciao
continuo a non capire bene ma in base al tuo ultimo esempio le tre formule potrebbero essere:
=INT(RESTO(B3;1)*30)
=INT(RESTO(RESTO(B3;1)*30;1)*60)
=ARROTONDA(RESTO(RESTO(RESTO(B3;1)*30;1)*60;1)*60;0)
EDIT
NON CONSIDERARE SONO ERRATE [Modificato da ninai 04/12/2016 16:38]
--------------------------------------------------
"So che spiegare il proprio problema, in modo comprensibile, richiede un certo impegno ed è un lavoro "palloso", ma qualcuno lo deve pur fare ....., indovina chi?" (Cit. "Scossa")
--------------------------------------------------
excel 2010 ,
Win 8 |
| | Post: 3.576 | Registrato il: 04/07/2012
| Città: BARCELLONA POZZO DI GOTTO | Età: 61 | Utente Master | 2010 | | OFFLINE |
|
04/12/2016 17:30 | |
ciao
sostituiendo le mie precedenti proposte con:
=INT(ARROTONDA(RESTO(B3;1)*30;10))
=RESTO(ARROTONDA(RESTO(RESTO(B3;1)*30;1)*60;0);60)
=RESTO(ARROTONDA(RESTO(RESTO(RESTO(B3;1)*30;1)*60;1)*60;0);60)
sembrerebbero giuste, aspetto riscontro [Modificato da ninai 04/12/2016 17:38]
--------------------------------------------------
"So che spiegare il proprio problema, in modo comprensibile, richiede un certo impegno ed è un lavoro "palloso", ma qualcuno lo deve pur fare ....., indovina chi?" (Cit. "Scossa")
--------------------------------------------------
excel 2010 ,
Win 8 |
| | Post: 18 | Registrato il: 27/11/2010
| Città: MILANO | Età: 28 | Utente Junior | 2013 | | OFFLINE | |
|
04/12/2016 18:35 | |
Non vorrei parlare troppo presto ma sembra proprio che funzioni alla grande.
Farò ancora ulteriori verifiche con calma nei prossimi giorni.
Grazie mille intanto. |
| | Post: 19 | Registrato il: 27/11/2010
| Città: MILANO | Età: 28 | Utente Junior | 2013 | | OFFLINE | |
|
05/12/2016 16:42 | |
Facendo qualche prova ulteriore ho notato che in alcuni casi l'approssimazione risulta sbagliata. Per es. con qualsiasi numero che abbia i decimali 0,2625, restituisce 7°53'30" mentre dovrebbe essere 7°52'30". La stessa cosa avviene con altri numeri. Dalle prove fatte mi sembra che l'unico campo a risentirne sia quello dei minuti appunto. |
| | Post: 3.578 | Registrato il: 04/07/2012
| Città: BARCELLONA POZZO DI GOTTO | Età: 61 | Utente Master | 2010 | | OFFLINE |
|
11/12/2016 17:27 | |
ciao
non avevo letto il tuo ultimo post e sinceramente ho rimosso, volendo fare una prova:
=INT(ARROTONDA(RESTO(B3*100;100)*0,3;10))
=RESTO(INT(RESTO(RESTO(B3*100;100)*0,3;1)*60);60)
=RESTO(ARROTONDA(RESTO(RESTO(RESTO(B3*100;100)*0,3;1)*60;1)*60;0);60)
EDIT
sostituisci la seconda formula con :
=INT(RESTO(ARROTONDA(RESTO(RESTO(B3*100;100)*0,3;1)*60;1);60)) [Modificato da ninai 11/12/2016 19:14]
--------------------------------------------------
"So che spiegare il proprio problema, in modo comprensibile, richiede un certo impegno ed è un lavoro "palloso", ma qualcuno lo deve pur fare ....., indovina chi?" (Cit. "Scossa")
--------------------------------------------------
excel 2010 ,
Win 8 |
| | Post: 20 | Registrato il: 27/11/2010
| Città: MILANO | Età: 28 | Utente Junior | 2013 | | OFFLINE | |
|
11/12/2016 20:12 | |
Ninai,
non so come tu abbia fatto ma mi sa che stavolta ci siamo; farò ancora dei tentativi nella speranza di non trovare altri casi anomali ma dalle verifiche fatte finora sembra tutto ok.
Grazie di nuovo
[Modificato da bollato 11/12/2016 21:53] |
|
|