Excel - ayuda urgente

 
Vista:

ayuda urgente

Publicado por alejo (2 intervenciones) el 11/10/2006 00:20:25
hola espero me ayuden

tengo datos de un mapa cartografico y necesito hacer las operaciones basicas, asi como convertir pero me urge esto , ya mas adelante les dire las demas que aparezcan

sumar
20º40'50'' +
65º76'74''
= 86º17'14''

le di formato 00"º"00"'"00""" (etsa bien este formato o debo poner en vez de cero el #)
pero al ingresar al excel que funion debo usar
porque me resulta 85º76'74''

gracias por la ayud brindada
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ayuda urgente

Publicado por José Luis (700 intervenciones) el 11/10/2006 22:02:09
Para tener una idea mira si te sirve

http://recursos.gabrielortiz.com/index.asp?Info=058a

Lo fácil sería hacer una función que pasase todo a segundos, la sumas y despúes lo vuelves a pasar a grados, minutos y segundos.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Una pregunta

Publicado por alejo (2 intervenciones) el 12/10/2006 04:15:36
hola Jose Luis , encontre una macro pero esta en ingles, nose si me puedas ayudar

como lo paso a epsñaol

el enlace es

puse esto (Convertir un valor de grado de decimal a grados, minutos, segundos)

http://support.microsoft.com/default.aspx?scid=kb%3Bes%3B73023

Las partes de un grado normalmente se expresan en unidades llamadas a minutos y a segundos. Un grado es equivalente a 60 minutos y el minuto es igual a 60 segundos de forma similar. Estas unidades se utilizan con frecuencia con gráficos y exploración náuticos.

Microsoft proporciona ejemplos de programación sólo como ilustración, sin ninguna garantía ya sea expresa o implícita. Esto incluye, entre otras, las garantías implícitas de comerciabilidad e idoneidad para un fin determinado. En este artículo se supone que esté familiarizado por usted con el lenguaje de programación que se muestra y las herramientas que se utilizan para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden ayudar a explicar la funcionalidad de un procedimiento determinado pero no modificarán estos ejemplos para proporcionar que agregó funcionalidad o construir procedimientos para cumplir sus necesidades específicas. La macro siguiente de función aceptará formato como un número de decimal y que lo convierte a grados, minutos y segundos como texto.

A1: Convert_Degree
A2: =ARGUMENT("Decimal_Deg")
A3: =RESULT(2)
A4: Degrees=INT(Decimal_Deg)
A5: Minutes=(Decimal_Deg-Degrees)*60
A6: Seconds=ROUND((Minutes-INT(Minutes))*60,0)
A7: =RETURN(Degrees&"~ "&INT(Minutes)&"' "&Seconds&"""")

Por ejemplo, introducir =Convert_Degree(10.46) en una hoja de cálculo devuelve 10 ~ 27 pie 36" (10 grados 27 minutos 36 segundos).
Volver al principio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Una pregunta

Publicado por José Luis (700 intervenciones) el 15/10/2006 22:33:29
Las funciones son

Function Conv_Grados(Celda) As String
'Grados Decimales a Sexagesimales
Grados = Fix(Celda)
MinutosConDec = Abs((Celda - Grados) * 60)
Minutos = Int(MinutosConDec)
Segundos = Round(((Abs(Celda - Grados) * 60) - Minutos) * 60, 2)
Conv_Grados = Grados & "º" & Minutos & "'" & Segundos & Chr$(34)
End Function

Function Conv_Grados10(ByVal Celda As Range)
'Grados Sexagesimales a Decimales
PG = InStr(1, Celda, "º")
PM = InStr(1, Celda, "'")
PS = InStr(1, Celda, Chr$(34))
If PG = 0 Then Ctrl = "0" Else Ctrl = "1"
If PM = 0 Then Ctrl = Ctrl & "0" Else Ctrl = Ctrl & "1"
If PS = 0 Then Ctrl = Ctrl & "0" Else Ctrl = Ctrl & "1"
Select Case Ctrl
Case "000"
G = 0: M = 0: S = 0
Case "001"
S = (Val(Left(Celda, PS - 1)) / 60) / 60
Case "010"
M = Val(Left(Celda, PM - 1)) / 60
Case "011"
S = (Val(Mid(Celda, PM + 1, (PS - PM) - 1)) / 60) / 60
M = Val(Left(Celda, PM - 1)) / 60
Case "100"
G = Val(Left(Celda, PG - 1))
Case "101"
G = Val(Left(Celda, PG - 1))
S = (Val(Mid(Celda, PG + 1, (PS - PG) - 1)) / 60) / 60
Case "110"
G = Val(Left(Celda, PG - 1))
M = (Val(Mid(Celda, PG + 1, (PM - PG) - 1)) / 60)
Case "111"
G = Val(Left(Celda, PG - 1))
M = (Val(Mid(Celda, PG + 1, (PM - PG) - 1)) / 60)
S = (Val(Mid(Celda, PM + 1, (PS - PM) - 1)) / 60) / 60
End Select
Conv_Grados10 = G + M + S
End Function

El problema es que no se alcanza mucha precisión. p.ej en la suma que indicas el valor (si lo haces a mano) son 86º58'4", pero si lo haces convirtiendo a Decimal, sumando y luego convirtiendo de nuevo a Sexagesimal te encuentras con 86º56'0", has pedido 2 minutos y 4 segundos en la conversión.
En este caso lo mejor sería preparar una función de suma con los valores directamente en formato sexagesimal.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Una pregunta

Publicado por José Luis (700 intervenciones) el 16/10/2006 00:09:34
NOTA: Las funciones funcionan perfectamente, lo que ocurría es que para marcar los segundos se indicaba con dos comillas simples y yo uso la comilla doble en las funciones.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar