Está en la página 1de 4

Cómo convertir ángulos de

grados/minutos/segundos a o desde
ángulos decimales en Excel
Se aplica a: Microsoft Office Excel 2003Excel 2010Microsoft Office Excel 2007

IMPORTANTE: Este artículo es el resultado de una traducción automática realizada mediante


software de Microsoft y no por un traductor profesional. Microsoft ofrece artículos traducidos por
profesionales, artículos generados mediante traducción automática y traducciones de artículos de la
comunidad Microsoft, para que puedas tener acceso a todos los artículos de la base de
conocimiento en tu propio idioma. Es importante tener en cuenta que los artículos generados
mediante traducciones automáticas, incluyendo los que hayan sido revisados por la comunidad
Microsoft, pueden incluir errores de vocabulario, sintaxis o gramática. No puede considerarse
responsable a Microsoft de posibles imprecisiones o errores, ni de cualquier perjuicio que pueda ser
consecuencia de una traducción incorrecta del contenido o de su uso.
Ver el artículo original en inglés: 213449

Resumen

Las mediciones angulares se suelen expresar en unidades de grados, minutos y


segundos (DMS). Un grado es igual a 60 minutos y un minuto es igual a 60 segundos.
Para simplificar algunos cálculos matemáticos que puede ser conveniente expresar las
mediciones angulares en grados y fracciones decimales de grados.

Este artículo contiene un ejemplo de función personalizada que se puede utilizar para
convertir un valor de grado almacenado en formato decimal, a DMS almacenado en
formato de texto, y un ejemplo defunción que convierte DMS a un valor de grado
almacenado en formato decimal.

Más información

Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin


garantía expresa o implícita, incluyendo, pero sin limitarse a, las garantías implícitas de
comerciabilidad e idoneidad para un fin determinado. En este artículo se supone que
está familiarizado con el lenguaje de programación que se demuestra y las
herramientas utilizadas para crear y depurar procedimientos. Los profesionales de
soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado
procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad
ni crearán procedimientos que cumplan sus necesidades específicas.
Si tiene poca experiencia en programación, desea ponerse en contacto con un asesor
de Microsoft Services. Para obtener más información, visite el sitio Web de Microsoft:

Servicios de asesoría de Microsoft: http://support.microsoft.com/gp/advisoryservice

Para obtener más información acerca de las opciones de soporte están disponibles y
cómo ponerse en contacto con Microsoft, visite el siguiente sitio Web de Microsoft:
http://support.microsoft.com/default.aspx?scid=fh; de EN-US; CNTACTMS

Convertir los grados decimales a grados, minutos y segundos

El siguiente de Visual Basic para Aplicaciones de Microsoft la función personalizada


acepta un ángulo con formato como un valor decimal y lo convierte en un valor de
texto que se muestra en grados, minutos y segundos.

Function Convert_Degree(Decimal_Deg) As Variant


With Application
'Set degree to Integer of Argument Passed
Degrees = Int(Decimal_Deg)
'Set minutes to 60 times the number to the right
'of the decimal for the variable Decimal_Deg
Minutes = (Decimal_Deg - Degrees) * 60
'Set seconds to 60 times the number to the right of the
'decimal for the variable Minute
Seconds = Format(((Minutes - Int(Minutes)) * 60), "0")
'Returns the Result of degree conversion
'(for example, 10.46 = 10~ 27 ' 36")
Convert_Degree = " " & Degrees & "° " & Int(Minutes) & "' " _
& Seconds + Chr(34)
End With
End Function
Para utilizar esta función, cree una fórmula de conversión, como en el ejemplo
siguiente:
1. Inicie Excel y presione ALT+F11 para iniciar el editor de Visual Basic.
2. En el menú Insertar , haga clic en módulo.
3. Escriba el código de ejemplo para la función personalizada Convert_Degree que
se describe anteriormente en la hoja de módulo.
4. Presione ALT+F11 para volver a excel.
5. En la celda A1 escriba 10.46.
6. En la celda A2, escriba la fórmula siguiente:
=Convert_Degree(A1)

La fórmula devuelve 10 ° 27'36 "

Conversión de grados, minutos y segundos a grados decimales

La siguiente función personalizada de Visual Basic para Aplicaciones de Microsoft


acepta una cadena de texto de grados, minutos y segundos con el mismo formato
exacto que devuelve la función Convert_Degree (por ejemplo, 10° 27' 36") y lo
convierte en un ángulo con formato de valor decimal. Esto es exactamente el inverso
de la función personalizada Convert_Degree.

Advertencia: se produce un error en esta función personalizada si el argumento


Degree_Deg no está en el formato siguiente
<degrees>° <minutes>' <seconds>"
incluso si el valor de segundos es 0.
Function Convert_Decimal(Degree_Deg As String) As Double
' Declare the variables to be double precision floating-point.
Dim degrees As Double
Dim minutes As Double
Dim seconds As Double
' Set degree to value before "°" of Argument Passed.
degrees = Val(Left(Degree_Deg, InStr(1, Degree_Deg, "°") - 1))
' Set minutes to the value between the "°" and the "'"
' of the text string for the variable Degree_Deg divided by
' 60. The Val function converts the text string to a number.
minutes = Val(Mid(Degree_Deg, InStr(1, Degree_Deg, "°") + 2, _
InStr(1, Degree_Deg, "'") - InStr(1, Degree_Deg, _
"°") - 2)) / 60
' Set seconds to the number to the right of "'" that is
' converted to a value and then divided by 3600.
seconds = Val(Mid(Degree_Deg, InStr(1, Degree_Deg, "'") + _
2, Len(Degree_Deg) - InStr(1, Degree_Deg, "'") - 2)) _
/ 3600
Convert_Decimal = degrees + minutes + seconds
End Function
Para utilizar esta función, cree una fórmula de conversión, como en el ejemplo
siguiente:
1. Inicie Excel y presione ALT+F11 para iniciar el Editor de Visual Basic.
2. En el menú Insertar , haga clic en módulo.
3. Introduzca el código de ejemplo de la función personalizada Convert_Decimal que
se describe anteriormente en la hoja de módulo.
4. Presione ALT+F11 para volver a excel.
5. En la celda A1, escriba la fórmula siguiente:
=Convert_Decimal("10° 27' 36""")
Nota: debe escribir tres comillas ("" ") al final del argumento de esta fórmula para
equilibrar las comillas para los segundos y las comillas de la cadena de texto. Una
referencia de celda no requerirá una comilla.
6. La fórmula devuelve 10.46

Última actualización: 17 may. 2017

También podría gustarte