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

Problema con funzione Tronca

Ultimo Aggiornamento: 11/12/2016 20:12
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. [SM=g27811]
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. [SM=g27811]
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]
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]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 22:36. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com