Discussione:
Da formato DD,decimali a DDMMSS,decimali
(troppo vecchio per rispondere)
ugo_z
2008-02-07 15:57:59 UTC
Permalink
Buona sera, stò impazzendo da questa mattina alla ricerca di una
formula per convertire le coordinate di un punto dal formato decimale
a quello sessagesimale.
Esempio:
N 38.89859 - E 8.87306 = N 38° 53' 54.9234" - E 8° 52' 23.016"
oppure:
N 38.94240 - E 8.94001 = N 38° 56' 32.6394" - E 8° 56' 24.0354"
La conversione dovrebbe essere automatica dovrei inserire nel formato
DD°,decimali ed ottenere in un'altra cella il formato
DD°MM'SS".
Spero di essermi spiegato grazie a tutti.
Maurizio Borrelli
2008-02-07 17:24:14 UTC
Permalink
Post by ugo_z
Buona sera, stò impazzendo da questa mattina alla ricerca di una
formula per convertire le coordinate di un punto dal formato decimale
a quello sessagesimale.
N 38.89859 - E 8.87306 = N 38° 53' 54.9234" - E 8° 52' 23.016"
N 38.94240 - E 8.94001 = N 38° 56' 32.6394" - E 8° 56' 24.0354"
La conversione dovrebbe essere automatica dovrei inserire nel formato
DD°,decimali ed ottenere in un'altra cella il formato
DD°MM'SS".
Ciao ugo_z.

Un modo:

=SINISTRA(TESTO(A1/24/60;"mm\° ss");4)&TESTO(A1/24;"mm\' ss,000\""")

--
(Facci sapere se e eventualmente come hai risolto. Grazie.)

Maurizio Borrelli [Microsoft Excel MVP]
http://www.riolab.org
Bruno Campanini
2008-02-07 18:04:05 UTC
Permalink
Post by Maurizio Borrelli
Post by ugo_z
Buona sera, stò impazzendo da questa mattina alla ricerca di una
formula per convertire le coordinate di un punto dal formato decimale
a quello sessagesimale.
N 38.89859 - E 8.87306 = N 38° 53' 54.9234" - E 8° 52' 23.016"
N 38.94240 - E 8.94001 = N 38° 56' 32.6394" - E 8° 56' 24.0354"
La conversione dovrebbe essere automatica dovrei inserire nel formato
DD°,decimali ed ottenere in un'altra cella il formato
DD°MM'SS".
Ciao ugo_z.
=SINISTRA(TESTO(A1/24/60;"mm\° ss");4)&TESTO(A1/24;"mm\' ss,000\""")
Mutatis mutandis:
=LEFT(TEXT(C12/24/60,"mm\° ss"),4)&TEXT(C12/24,"mm\' ss,000\""")
a me ritorna #VALUE!

È una questione di mutande?

Bruno
Post by Maurizio Borrelli
--
(Facci sapere se e eventualmente come hai risolto. Grazie.)
Maurizio Borrelli [Microsoft Excel MVP]
http://www.riolab.org
Maurizio Borrelli
2008-02-07 18:20:03 UTC
Permalink
[...]
Post by Bruno Campanini
Post by Maurizio Borrelli
=SINISTRA(TESTO(A1/24/60;"mm\° ss");4)&TESTO(A1/24;"mm\' ss,000\""")
=LEFT(TEXT(C12/24/60,"mm\° ss"),4)&TEXT(C12/24,"mm\' ss,000\""")
a me ritorna #VALUE!
È una questione di mutande?
Ciao Bruno.

Certamente! ;-) Non hai considerato che la stringa di formato, il
secondo argomento della funzione "TEXT", e' localizzata. Prova:

=LEFT(TEXT(C12/24/60,"mm\° ss"),4)&TEXT(C12/24,"mm\' ss.000\""")

Questo e' un limite di tale funzione. Rimediabile, se si vuole, con
l'aggiunta di un altro par d'etti di funzioni.

--
Maurizio Borrelli [Microsoft Excel MVP]
http://www.riolab.org
Bruno Campanini
2008-02-07 13:08:50 UTC
Permalink
Post by Maurizio Borrelli
[...]
Post by Bruno Campanini
Post by Maurizio Borrelli
=SINISTRA(TESTO(A1/24/60;"mm\° ss");4)&TESTO(A1/24;"mm\' ss,000\""")
=LEFT(TEXT(C12/24/60,"mm\° ss"),4)&TEXT(C12/24,"mm\' ss,000\""")
a me ritorna #VALUE!
È una questione di mutande?
Ciao Bruno.
Certamente! ;-) Non hai considerato che la stringa di formato, il secondo
=LEFT(TEXT(C12/24/60,"mm\° ss"),4)&TEXT(C12/24,"mm\' ss.000\""")
Questo e' un limite di tale funzione. Rimediabile, se si vuole, con
l'aggiunta di un altro par d'etti di funzioni.
Acc.. per un punto Martin perse la cappa!
Quel ,000 l'avevo preso per un ulteriore parametro.

Alchimie che vanno oltre le mie facoltà.

Ciao
Bruno
ugo_z
2008-02-08 10:35:15 UTC
Permalink
Perfetti ottimo lavoro grazie a tutti per la collaborazione e per le
idee ottime.
Ho fatto la mia scelta, non me ne vogliano quelli che non ho scelto.
La soluzione di Ivano =INT(A1)&"° "&ASS(INT((A1-
INT(A1))*60))&"'"&ASS((((A1-INT(A1))*60)-INT(((A1-INT(A1))*60)))*60)
mi da troppi decimali.
Trovo veramente geniale la seconda soluzione di Maurizio Borrelli
anche se non sono riuscito ad impostare il formato di B1 ([h]\* mm' ss,
000\") ma la precisione al millesimo di secondo è eccessiva
trattandosi di indirizzi stradali da inserire nel GPS.
Alla fine ho scelto la prima soluzione di Maurizio Borrelli perchè la
formula e' semplice ed il risultato e' gradevole dal punto di vista
estetico (con i simboli ° ' ").
Grazie ancora a tutti.
Maurizio Borrelli
2008-02-08 11:05:15 UTC
Permalink
"ugo_z" wrote in message news:397f6cb0-d832-4d8f-8c61-***@l1g2000hsa.googlegroups.com:

Ciao ugo_z.
Post by ugo_z
Perfetti ottimo lavoro grazie a tutti per la collaborazione e per le
idee ottime.
Ho fatto la mia scelta, non me ne vogliano quelli che non ho scelto.
La soluzione di Ivano =INT(A1)&"° "&ASS(INT((A1-
INT(A1))*60))&"'"&ASS((((A1-INT(A1))*60)-INT(((A1-INT(A1))*60)))*60)
mi da troppi decimali.
Puoi regolare il numero dei decimali agendo sul formato! Considera anche
l'esistenza dei pulsanti:

|<- 0|
| ,00|

(Aumenta decimali)

| ,00|
|->,0|

(Diminuisci decimali)
Post by ugo_z
Trovo veramente geniale la seconda soluzione di Maurizio Borrelli
Esagerato! Comunque grazie.
Post by ugo_z
anche se non sono riuscito ad impostare il formato di B1 ([h]\* mm' ss,
000\")
Colpa di una mia svista! Mi accorgo di aver digitato l'asterisco (*)
invece del simbolo di grado (°)
Post by ugo_z
ma la precisione al millesimo di secondo è eccessiva
Forse val la pena (ri)riassumere:

A1: 38,89859
Formato di A1: Generale

B1: =A1/24
Formato di B1: [h]\° mm\' ss,000\"

C1: =B1*24
Formato di C1: Generale

-oppure-

A1: 38,89859
Formato di A1: Generale

B1: =TESTO(A1/24;"[h]\° mm\' ss,000\""")

Considera che puoi variare a tuo piacimento il numero dei decimali da
nessuno a massimo tre:

Nessuno: [...]ss[...]

1: [...]ss,0[...]

2: [...]ss,00[...]

3: [...]ss,000[...]

--
Maurizio Borrelli [Microsoft Excel MVP]
http://www.riolab.org

ivano
2008-02-07 17:46:58 UTC
Permalink
"ugo_z" <***@hotmail.com> ha scritto nel messaggio news:3e64e565-7d51-4bcf-915b-***@v67g2000hse.googlegroups.com...
Buona sera, stò impazzendo da questa mattina alla ricerca di una
formula per convertire le coordinate di un punto dal formato decimale
a quello sessagesimale.
Esempio:
N 38.89859 - E 8.87306 = N 38° 53' 54.9234" - E 8° 52' 23.016"
oppure:
N 38.94240 - E 8.94001 = N 38° 56' 32.6394" - E 8° 56' 24.0354"
La conversione dovrebbe essere automatica dovrei inserire nel formato
DD°,decimali ed ottenere in un'altra cella il formato
DD°MM'SS".
Spero di essermi spiegato grazie a tutti.

Ciao,
a prescindere dalla perfetta formula di Maurizio, ma visto che ormai la
stavo creando, posto ugualmente:
=INT(A1)&"° "&ASS(INT((A1-INT(A1))*60))&"'
"&ASS((((A1-INT(A1))*60)-INT(((A1-INT(A1))*60)))*60)
ivano
Maurizio Borrelli
2008-02-07 18:08:54 UTC
Permalink
Post by ugo_z
convertire le coordinate di un punto dal formato decimale
a quello sessagesimale.
N 38.89859 - E 8.87306 = N 38° 53' 54.9234" - E 8° 52' 23.016"
N 38.94240 - E 8.94001 = N 38° 56' 32.6394" - E 8° 56' 24.0354"
[...]
Post by ugo_z
a prescindere dalla perfetta formula di Maurizio, ma visto che ormai la
=INT(A1)&"° "&ASS(INT((A1-INT(A1))*60))&"'
"&ASS((((A1-INT(A1))*60)-INT(((A1-INT(A1))*60)))*60)
Ciao ivano,

Grazie delle belle parole :) ma la mia e' solo uno... scherzo di natura,
per mostrare le capacita' di Excel. La tua si' che e' perfetta. Anche
io, naturalmente, avevo cominciato con:

=INT(A1)&"° "&

poi mi son fatto prendere la mano dalla simpatica mostruosita' di:

=SINISTRA(TESTO(A1/24/60;"mm\° ss");4)&

Pero', ripensandoci, la seguente non e' male:

=TESTO(TRONCA(A1);"@")&TESTO(A1/24;"\° mm\' ss,000\""")

... non fosse per il limite dei millesimi.

--
Maurizio Borrelli [Microsoft Excel MVP]
http://www.riolab.org
Maurizio Borrelli
2008-02-07 18:34:49 UTC
Permalink
[...]
Post by Maurizio Borrelli
... non fosse per il limite dei millesimi.
Ciao Ivano. Ciao ugo_z.

Dimenticavo di aggiungere una cosa che potrebbe invece avere qualche
concreto interesse. Con questo sistema e' possibile evitare la
conversione in stringa, mantenendo cioe' un formato numerico di tipo
orario, adatto per eventuali (?) ulteriori calcoli:

=TRONCA(A1/24/60)+A1/24

Formato: [h]\* mm' ss,000\"

Cosi' non ci sarebbe nemmeno piu' il problema della localizzazione della
stringa di formato di "TESTO()". Resterebbe il limite dei millesimi.
--
Maurizio Borrelli [Microsoft Excel MVP]
http://www.riolab.org
Maurizio Borrelli
2008-02-07 18:49:48 UTC
Permalink
"Maurizio Borrelli" wrote in message news:***@TK2MSFTNGP05.phx.gbl:

[...]
Post by Maurizio Borrelli
Dimenticavo di aggiungere una cosa che potrebbe invece avere qualche
concreto interesse. Con questo sistema e' possibile evitare la
conversione in stringa, mantenendo cioe' un formato numerico di tipo
=TRONCA(A1/24/60)+A1/24
Formato: [h]\* mm' ss,000\"
Cosi' non ci sarebbe nemmeno piu' il problema della localizzazione della
stringa di formato di "TESTO()". Resterebbe il limite dei millesimi.
... e si potrebbe quindi fare la retroconversione:

=B1*24

Riassumendo:

A1: 38,89859
Formato di A1: Generale

B1: =TRONCA(A1/24/60)+A1/24
Formato di B1: [h]\* mm' ss,000\"

C1: =B1*24
Formato di C1: Generale

--
Maurizio Borrelli [Microsoft Excel MVP]
http://www.riolab.org
Maurizio Borrelli
2008-02-07 19:07:00 UTC
Permalink
Post by Maurizio Borrelli
[...]
Post by Maurizio Borrelli
Dimenticavo di aggiungere una cosa che potrebbe invece avere qualche
concreto interesse. Con questo sistema e' possibile evitare la
conversione in stringa, mantenendo cioe' un formato numerico di tipo
=TRONCA(A1/24/60)+A1/24
Formato: [h]\* mm' ss,000\"
Cosi' non ci sarebbe nemmeno piu' il problema della localizzazione
della stringa di formato di "TESTO()". Resterebbe il limite dei
millesimi.
=B1*24
[...]

Uff!... Insiste a rimanermi impigliato nel copincolla quell'inutile
"TRONCA"!

Riassumendo:

A1: 38,89859
Formato di A1: Generale

B1: =A1/24
Formato di B1: [h]\* mm' ss,000\"

C1: =B1*24
Formato di C1: Generale

--
Maurizio Borrelli [Microsoft Excel MVP]
http://www.riolab.org
Loading...