Note: The other languages of the website are Google-translated. Back to English

كيفية تحويل الدرجات العشرية إلى درجات دقيقة ثانية في إكسيل؟

في بعض الأحيان ، قد يكون لديك قائمة بيانات تظهر كدرجات عشرية في ورقة عمل ، والآن تحتاج إلى تحويل الدرجات العشرية إلى تنسيق الدرجات والدقائق والثواني كما هو موضح في لقطات الشاشة التالية ، كيف يمكنك الحصول على المحادثة بسرعة في Excel؟

قم بتحويل الدرجات العشرية إلى درجات ودقائق وثواني باستخدام VBA

تحويل الدرجات والدقائق والثواني إلى درجات عشرية باستخدام VBA

علامة تبويب Office تمكن من التحرير والتصفح المبوب في المكتب ، واجعل عملك أسهل بكثير ...
Kutools for Excel يحل معظم مشاكلك ويزيد إنتاجيتك بنسبة 80٪
  • إعادة استخدام أي شيء: أضف الصيغ والمخططات الأكثر استخدامًا أو تعقيدًا وأي شيء آخر إلى مفضلاتك ، وأعد استخدامها بسرعة في المستقبل.
  • أكثر من 20 ميزة نصية: استخراج رقم من سلسلة نصية ؛ استخراج أو إزالة جزء من النصوص ؛ تحويل الأرقام والعملات إلى الكلمات الإنجليزية.
  • أدوات الدمج: مصنفات وأوراق متعددة في واحد ؛ دمج خلايا / صفوف / أعمدة متعددة دون فقد البيانات ؛ دمج الصفوف المكررة والمجموع.
  • أدوات الانقسام: تقسيم البيانات إلى أوراق متعددة بناءً على القيمة ؛ مصنف واحد لملفات Excel أو PDF أو CSV متعددة ؛ عمود واحد إلى أعمدة متعددة.
  • لصق التخطي صفوف مخفية / مصفاة العد والمجموع حسب لون الخلفية؛ إرسال رسائل بريد إلكتروني مخصصة إلى مستلمين متعددين بشكل مجمع.
  • مرشح سوبر: إنشاء مخططات تصفية متقدمة وتطبيقها على أي أوراق ؛ تصنيف حسب: حسب الأسبوع واليوم والتكرار والمزيد ؛ تصفية بواسطة bold، formulas، comment ...
  • أكثر من 300 ميزة قوية ؛ يعمل مع Office 2007-2021 و 365 ؛ يدعم جميع اللغات ؛ سهولة النشر في مؤسستك أو مؤسستك.

السهم الأزرق الحق فقاعة قم بتحويل الدرجات العشرية إلى درجات ودقائق وثواني باستخدام VBA

يرجى اتباع الخطوات أدناه لتحويل الدرجات العشرية إلى درجات ودقائق وثواني باستخدام كود VBA.

1. معلق ALT زر واضغط F11 على لوحة المفاتيح لفتح ملف Microsoft Visual Basic للتطبيق نافذة.

2. انقر إدراج > وحدة، وانسخ VBA في الوحدة النمطية.

فبا: تحويل الدرجة العشرية إلى درجة ودقائق وثواني

Sub ConvertDegree()
'Update 20130815
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    num1 = Rng.Value
    num2 = (num1 - Int(num1)) * 60
    num3 = Format((num2 - Int(num2)) * 60, "00")
    Rng.Value = Int(num1) & "°" & Int(num2) & "'" & Int(num3) & "''"
Next
End Sub

3. انقر يجري زر أو اضغط F5 لتشغيل VBA.

4. يتم عرض مربع حوار على الشاشة ، ويمكنك تحديد الخلايا التي تريد تحويلها. انظر لقطة الشاشة:

5. انقر OK، ثم يتم تحويل البيانات المحددة إلى درجة ودقائق وثواني. انظر لقطة الشاشة:

معلومه- سرية: سيؤدي استخدام رمز VBA أعلاه إلى فقد بياناتك الأصلية ، لذا من الأفضل نسخ البيانات قبل تشغيل الرمز.


السهم الأزرق الحق فقاعة تحويل الدرجات والدقائق والثواني إلى درجات عشرية باستخدام VBA

في بعض الأحيان ، قد ترغب في تحويل البيانات بالدرجات / الدقائق / الثواني بالتنسيق إلى درجات عشرية ، يمكن أن تساعدك تعليمات VBA التالية على إنجازها بسرعة.

1. معلق ALزر T واضغط F11 على لوحة المفاتيح لفتح نافذة Microsoft Visual Basic for Application.

2. انقر إدراج > وحدة، وانسخ VBA في الوحدة النمطية.

VBA: تحويل الدرجة والدقائق والثواني إلى درجة عشرية

Function ConvertDecimal(pInput As String) As Double
'Updateby20140227
Dim xDeg As Double
Dim xMin As Double
Dim xSec As Double
xDeg = Val(Left(pInput, InStr(1, pInput, "°") - 1))
xMin = Val(Mid(pInput, InStr(1, pInput, "°") + 2, _
             InStr(1, pInput, "'") - InStr(1, pInput, _
             "°") - 2)) / 60
xSec = Val(Mid(pInput, InStr(1, pInput, "'") + _
            2, Len(pInput) - InStr(1, pInput, "'") - 2)) _
            / 3600
ConvertDecimal = xDeg + xMin + xSec
End Function

3. احفظ الكود وأغلق النافذة ، وحدد خلية فارغة ، على سبيل المثال ، الخلية A1 ، أدخل هذه الصيغة = ConvertDecimal ("10 ° 27 '36" ") ("10 ° 27 '36" "" هي الدرجة التي تريد تحويلها إلى درجة عشرية ، يمكنك تغييرها حسب حاجتك) ، ثم انقر فوق أدخل زر. انظر لقطات الشاشة:


المقالات النسبية

فرز التعليقات حسب
التعليقات (16)
لا يوجد تقييم. كن أول من يقيم!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هناك خطأ ما في الكود حاولت تحويل 26 ° 10'55.416 "باستخدام هذا الرمز الذي ينتج عنه 26.00139 والذي يجب أن يكون 26.18206 (محسوب ومُحقق .. يرجى إعلامي إذا كان أي شخص يعرف السبب.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
[اقتباس] هناك خطأ ما في الكود حاولت تحويل 26 ° 10'55.416 "باستخدام هذا الرمز الذي ينتج عنه 26.00139 والذي يجب أن يكون 26.18206 (محسوب ومثبت .. يرجى إعلامي إذا كان أي شخص يعرف السبب.بقلم راجانسينه زالا[/ quote] يبدو أن الكود يتوقع مسافة بعد الرمز ° و 'الرموز. تعطي 26 ° 10 '55.416 "الإجابة الصحيحة. يمكنك إدخال الإدخال في خلية (مثل A1) والحصول على النتيجة في خلية أخرى باستخدام الصيغة = ConvertDecimal (A1). هذا مناسب إذا كان لديك العديد من الأرقام يتم تحويلها.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
من المفيد حقا. شكرًا لك.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أهم شيء يجب أن تدركه هو أنه لا يمكنك ببساطة استخدام حرف o مرتفع وصغير لرمز الدرجة - قد يكون هذا واضحًا للبعض ، ولكن ليس بالنسبة لي. لقد جربت الحرف المرتفع o ولم ينجح ، قمت بحذف الحرف المرتفع o ، واستخدمت Alt 0176 لرمز الدرجة الفعلية وقد نجح !! أنا في حيرة من أمري لماذا توجد مجموعات إضافية من علامات الاقتباس المزدوجة بعد الثواني؟ 36 "" ") بينما في التعليق التالي ، إذا استخدم المرء ببساطة = ConvertDecimal (A1) ، يتم استخدام مجموعة واحدة فقط من علامات الاقتباس للثواني. الغريب أنه يمكننا استخدام علامات الاقتباس المفردة والمزدوجة ويعمل الشيء للدقائق والثواني ولكن الحرف المرتفع o لا؟ للتحقق من 27/60 = .45 smf 36/3600 = .01 أضف الاثنين = .46 وأضف ذلك إلى الدرجات = 10.46 درجة. أتمنى أن يساعد هذا الآخرين؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
وجدت هذا الرمز مفيد جدا. أشياء عظيمة!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أريد رسم المواقف على الخريطة ولا نقلق بشأن N أو S أو E أو W. أنا متأكد من أنه يمكن إضافتها بعبارات "if". لقد استخدمت للتو سطرًا بسيطًا جدًا من الوظائف داخل جدول بيانات Excel. أريد الانتقال من الدرجات (العشرية) إلى الدرجات والثواني (العشرية) تغيير القيم السالبة إلى الإيجابيات كما أعرف في أي نصفي الكرة الأرضية. بالنسبة لي ، احتوت الخلية E4 على الهدف Lat أو Long (عشري). هذا أسهل قليلاً من إدخال بعض أكواد VBA ويمكن تكبيره للقيام DD، MM، SS = CONCATENATE (TRUNC (ABS (E4))، "°"، Fixed ((ABS (E4) -TRUNC (ABS (E4 ))) * 60,2،XNUMX)، "" ")
تم تصغير هذا التعليق بواسطة المشرف على الموقع
يعمل بشكل رائع ولكن كيف يمكنني تعديل الرمز للحصول على المزيد من الأرقام لمدة ثوانٍ؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، لقد استخدمت السكريب لتحويل العلامة العشرية إلى DMS ، لكن الكود خاطئ في مكان ما كما تبين 37.856908 ، -120.912469 إلى 37D 51M 25S ، -121D 5M 15S هذا بعيد المنال .... هل لدى أي شخص إصلاح لهذا؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
لست متأكدًا من الخطأ في الكود الموجود في المنشور من Ernie ، ولكن هذا ما أستخدمه لتحويل الدرجات العشرية إلى درجات DMS في ورقة الانتشار دون استخدام VB. المرجع إلى الخلية E33 هو الخلية التي تحتوي على قيمة الدرجات العشرية. = CONCAT (ثابت (INT (B32) ، 0) ، "°" ، ثابت (((B32 - INT (B32)) * 60) ، 0) ، "" ، ثابت (((B32 - INT (B32) - INT (B32 - INT (B32))) * 3600) ، 0 ، TRUE) ، "" ") حظًا سعيدًا.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا كورني ، لا تعمل لدي ، لا يقبل برنامج EXCEL الوظيفة ..... ما الخطأ؟ هل يمكنك مساعدتي؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
من فضلكم اريد المساعدة وكتابة برنامج كمبيوتر على ورق لتحويل الدرجة العشرية إلى درجة دقيقة وثانية. 317.5986740026 من ahans.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
الخطوة 1 ، اضرب الأرقام بعد الفاصلة العشرية بـ 60 (0.5986740026 * 60) دقيقة = 35.92044015 تعني 35 دقيقة
spet 2 ، اضرب العلامة العشرية بعد الدقيقة ، أي 0.9204401 * 60 = 55.2264
لذلك 317 درجة 35 دقيقة 55 ثانية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
يعمل مثل البطل! شكرا للمشاركة!!!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
تحقق من نتائجك. هذا الرمز خاطئ.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
يفترض الرمز وجود مسافة بعد ° و '. قم بتغيير 2 إلى 1 في الكود لحلها.
الدالة ConvertDecimal (pInput As String) على أنها Double
تحديث بحلول20140227
Dim xDeg As Double
Dim xMin As Double
خافت xSec كمزدوج
xDeg = Val (يسار (pInput ، InStr (1 ، pInput ، "°") - 1))
xMin = Val (Mid (pInput، InStr (1، pInput، "°") + 1، _
InStr (1، pInput، "" ") - InStr (1، pInput، _
"°") - 1)) / 60
xSec = Val (Mid (pInput، InStr (1، pInput، "" ") + _
1، Len (pInput) - InStr (1، pInput، "" ") - 1)) _
/ 3600
ConvertDecimal = xDeg + xMin + xSec
نهاية وظيفة
تم تصغير هذا التعليق بواسطة المشرف على الموقع
نتائج حساب خاطئة ... 29 ° 30'13 "34 ° 55'4" ---> 29.00083333 34.08333333
لا توجد تعليقات منشورة هنا حتى الآن
اترك تعليقاتك
النشر كضيف
×
قيم المنشور:
0   الشخصيات
المواقع المقترحة

تواصل معنا

حقوق التأليف والنشر © 2009 - شبكة الاتصالات العالمية.extendoffice.com. | كل الحقوق محفوظة. مشغل بواسطة ExtendOffice. | | خريطة الموقع
Microsoft وشعار Office هما علامتان تجاريتان أو علامتان تجاريتان مسجلتان لشركة Microsoft Corporation في الولايات المتحدة و / أو دول أخرى.
محمي بواسطة Sectigo SSL