Cum se efectuează conversia unghiurilor în grade/minute/secunde în sau din unghiuri zecimale în Excel

Asistența pentru Office 2003 s-a încheiat

Microsoft a încheiat asistența pentru Office 2003 la data de 8 aprilie 2014. Această schimbare a afectat actualizările de software și opțiunile de securitate. Aflați ce înseamnă aceasta pentru dvs. și cum puteți rămâne protejat.


Rezumat
Măsurătorile unghiulare sunt frecvent exprimate în unităţi de grade, minute şi secunde (GMS). Un grad este egal cu 60 de minute, iar un minut este egal cu 60 de secunde. Pentru a simplifica unele calcule matematice, puteţi exprima măsurători unghiulare în grade şi fracţii zecimale de grade.

Acest articol conţine o funcţie particularizată de probă pe care o puteţi utiliza pentru a converti o valoare în grade stocată în format zecimal în grade/minute/secunde stocate în format text şi o funcţie de probă care converteşte grade/minute/secunde într-o valoare în grade stocată în format zecimal.
Informaţii suplimentare
Microsoft furnizează exemple de programare numai în scop ilustrativ, fără nicio garanţie explicită sau implicită, incluzând neexhaustiv garanţiile implicite de vandabilitate şi/sau adecvarea la un anumit scop. Acest articol presupune că sunteţi familiarizat cu limbajul de programare prezentat şi cu instrumentele utilizate pentru a crea şi a depana proceduri. Specialiștii în asistență de la Microsoft pot ajuta la explicarea funcționalității unei anumite proceduri, însă nu vor modifica aceste exemple pentru a furniza funcționalitate suplimentară și nu vor construi proceduri pentru a răspunde cerințelor dvs. specifice.
Dacă aveţi experienţă limitată în programare, contactaţi un partener certificat Microsoft sau serviciile de consultanţă Microsoft. Pentru mai multe informaţii, vizitaţi aceste site-uri web Microsoft:

Parteneri certificaţi Microsoft - https://partner.microsoft.com/global/30000104

Servicii de consultanţă Microsoft - http://support.microsoft.com/gp/advisoryservice

Pentru informaţii suplimentare despre opţiunile de asistenţă disponibile şi modul în care se poate contacta Microsoft, vizitaţi următorul site Web Microsoft:http://support.microsoft.com/contactus/?ws=support&ln=ro-ro

Conversia gradelor zecimale în grade/minute/secunde

Următoarea funcţie particularizată Microsoft Visual Basic for Applications acceptă un unghi formatat ca valoare zecimală şi îl converteşte într-o valoare text afişată în grade, minute şi secunde.

Function Convert_Degree(Decimal_Deg) As Variant    With Application        'Setare grade la întregul argumentului introdus        Degrees = Int(Decimal_Deg)        'Setare minute la de 60 de ori numărul din dreapta        'punctului zecimal pentru variabila Decimal_Deg        Minutes = (Decimal_Deg - Degrees) * 60        'Setare secunde la de 60 de ori numărul din dreapta        'punctului zecimal pentru variabila Minute        Seconds = Format(((Minutes - Int(Minutes)) * 60), "0")        'Returnează rezultatul conversiei gradelor       '(de exemplu, 10.46 = 10~ 27  ' 36")        Convert_Degree = " " & Degrees & "° " & Int(Minutes) & "' " _            & Seconds + Chr(34)    End WithEnd Function				
Pentru a utiliza această funcţie, creaţi o formulă de conversie ca în exemplul următor:
  1. Porniţi Excel şi apăsaţi ALT+F11 pentru a porni editorul Visual Basic.
  2. În meniul Insert, faceţi clic pe Module.
  3. Introduceţi codul de probă pentru funcţia particularizată Convert_Degree descrisă mai sus în foaia modulului.
  4. Apăsaţi ALT+F11 pentru a reveni la Excel.
  5. În celula A1 tastaţi 10.46.
  6. În celula A2 tastaţi următoarea formulă:
    =Convert_Degree(A1)


    Formula returnează 10°27'36"

Conversia gradelor/minutelor/secundelor în grade zecimale

Următoarea funcţie particularizată Microsoft Visual Basic for Applications acceptă un şir text de grade, minute şi secunde formatat în exact acelaşi format ca cel returnat de funcţia Convert_Degree (de exemplu, 10° 27' 36") şi îl converteşte într-un unghi formatat ca o valoare zecimală. Această funcţie este este exact inversul funcţiei particularizate Convert_Degree.

AVERTISMENT: Această funcţie particularizată nu reuşeşte dacă argumentul Degree_Deg nu este în următorul format
<grade>° <minute>" <secunde>"
chiar dacă valoarea secunde este 0.
Function Convert_Decimal(Degree_Deg As String) As Double   ' Declarare a variabilelor ca virgulă mobilă dublă precizie.   Dim degrees As Double   Dim minutes As Double   Dim seconds As Double   ' Setare grade la valoarea înainte de „°” a argumentului introdus.   degrees = Val(Left(Degree_Deg, InStr(1, Degree_Deg, "°") - 1))   ' Setare a minutelor la valoarea dintre „°” şi „'”   ' a şirului text pentru variabila Degree_Deg împărţită la   ' 60. Funcţia Val efectuează conversia şirul text la un număr.   minutes = Val(Mid(Degree_Deg, InStr(1, Degree_Deg, "°") + 2, _             InStr(1, Degree_Deg, "'") - InStr(1, Degree_Deg, _             "°") - 2)) / 60    ' Setare a secundelor la numărul din dreapta „'”, adică    ' s-a efectuat conversia la o valoare şi apoi s-au împărţit la 3600.    seconds = Val(Mid(Degree_Deg, InStr(1, Degree_Deg, "'") + _            2, Len(Degree_Deg) - InStr(1, Degree_Deg, "'") - 2)) _            / 3600   Convert_Decimal = degrees + minutes + secondsEnd Function				
Pentru a utiliza această funcţie, creaţi o formulă de conversie ca în exemplul următor:
  1. Porniţi Excel şi apăsaţi ALT+F11 pentru a porni editorul Visual Basic.
  2. În meniul Insert, faceți clic pe Module.
  3. Introduceţi codul de probă pentru funcţia particularizată Convert_Decimal descrisă mai sus în foaia modulului.
  4. Apăsaţi ALT+F11 pentru a reveni la Excel.
  5. În celula A1 tastaţi următoarea formulă:
    =Convert_Decimal("10° 27' 36""")
    NOTĂ: Vi se cere să tastați trei ghilimele (""") la sfârşitul argumentului acestei formulă pentru a echilibra ghilimelele pentru secunde şi ghilimelele pentru şirul text. O referinţă de celulă nu va necesita ghilimele.
  6. Formula returnează 10.46
Proprietăți

ID articol: 213449 - Ultima examinare: 10/29/2015 11:16:00 - Revizie: 8.0

Microsoft Office Excel 2003, Microsoft Excel 2010, Microsoft Office Excel 2007

  • kbfunctions kbconvert kbsample kbdtacode kbhowto kbprogramming KB213449
Feedback