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

วิธีการแปลงองศาทศนิยมเป็นองศานาทีวินาทีใน Excel

บางครั้งคุณอาจมีรายการข้อมูลที่แสดงเป็นองศาทศนิยมในแผ่นงานและตอนนี้คุณต้องแปลงองศาทศนิยมเป็นองศานาทีและวินาทีตามที่แสดงในภาพหน้าจอต่อไปนี้คุณจะสนทนาอย่างรวดเร็วใน Excel ได้อย่างไร

แปลงองศาทศนิยมเป็นองศานาทีวินาทีด้วย VBA

แปลงองศานาทีวินาทีเป็นองศาทศนิยมด้วย VBA

แท็บ Office เปิดใช้งานการแก้ไขและเรียกดูแบบแท็บใน Office และทำให้งานของคุณง่ายขึ้นมาก ...
Kutools สำหรับ Excel ช่วยแก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%
  • ใช้ซ้ำอะไรก็ได้: เพิ่มสูตรที่ใช้มากที่สุดหรือซับซ้อนแผนภูมิและสิ่งอื่นใดในรายการโปรดของคุณและนำกลับมาใช้ใหม่ได้อย่างรวดเร็วในอนาคต
  • คุณสมบัติข้อความมากกว่า 20 รายการ: แยกหมายเลขจากสตริงข้อความ แยกหรือลบบางส่วนของข้อความ แปลงตัวเลขและสกุลเงินเป็นคำภาษาอังกฤษ
  • ผสานเครื่องมือ: สมุดงานและแผ่นงานหลายเล่มเป็นหนึ่งเดียว ผสานหลายเซลล์ / แถว / คอลัมน์โดยไม่สูญเสียข้อมูล รวมแถวและผลรวมที่ซ้ำกัน
  • แยกเครื่องมือ: แยกข้อมูลออกเป็นหลายแผ่นตามมูลค่า; สมุดงานหนึ่งเล่มเป็นไฟล์ Excel, PDF หรือ CSV หลายไฟล์ หนึ่งคอลัมน์ถึงหลายคอลัมน์
  • วางการข้าม แถวที่ซ่อน / กรอง; นับและผลรวม โดย Background Color; ส่งอีเมลส่วนบุคคลไปยังผู้รับหลายคนในกลุ่ม
  • ซุปเปอร์กรอง: สร้างโครงร่างตัวกรองขั้นสูงและใช้กับแผ่นงานใด ๆ ประเภท ตามสัปดาห์วันความถี่และอื่น ๆ กรอง by ตัวหนาสูตรคอมเม้น ...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ ทำงานร่วมกับ Office 2007-2019 และ 365; รองรับทุกภาษา ใช้งานง่ายในองค์กรหรือองค์กรของคุณ

ลูกศรสีฟ้าฟองขวา แปลงองศาทศนิยมเป็นองศานาทีวินาทีด้วย VBA


โปรดทำตามขั้นตอนด้านล่างเพื่อแปลงองศาทศนิยมเป็นองศานาทีและวินาทีด้วยรหัส VBA

1 ถือ ALT และกด F11 บนแป้นพิมพ์เพื่อเปิดไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2 คลิก สิ่งที่ใส่เข้าไป > โมดูลและคัดลอก VBA ลงในโมดูล

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 (คำนวณ & ยืนยันแล้ว .. โปรดแจ้งให้เราทราบหากใครรู้เหตุผล
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
[quote]มีข้อผิดพลาดบางอย่างในรหัสที่ฉันพยายามแปลง 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 องศา หวังว่านี่จะช่วยคนอื่นได้บ้าง Mort
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
พบรหัสนี้มีประโยชน์มาก สิ่งที่ยอดเยี่ยม!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันต้องการพล็อตตำแหน่งบนแผนที่ และเราไม่ต้องกังวลเกี่ยวกับ 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),"'")
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ใช้งานได้ดี แต่ฉันจะปรับโค้ดเพื่อให้ได้ตัวเลขมากขึ้นในไม่กี่วินาทีได้อย่างไร
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี ฉันใช้ scrip เพื่อแปลงทศนิยมเป็น DMS แต่โค้ดมีข้อผิดพลาดที่ใดที่หนึ่งเมื่อปรากฏ 37.856908,-120.912469 ถึง 37D 51M 25S, -121D 5M 15S วิธีนี้เป็นวิธีที่ปิด.... ใครมีวิธีแก้ไขบ้าง
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ไม่แน่ใจว่าเกิดอะไรขึ้นกับโค้ดในโพสต์จาก Ernie แต่นี่คือสิ่งที่ฉันใช้ในการแปลงองศาทศนิยมเป็นองศา DMS ในสเปรดชีตโดยไม่ต้องใช้ VB การอ้างอิงไปยังเซลล์ E33 คือเซลล์ที่มีค่าองศาทศนิยม =CONCAT(FIXED(INT(B32), 0) , "°", FIXED(((B32 - INT(B32)) * 60), 0), "'", FIXED(((B32 - INT(B32)) - INT(B32 - INT(B32))) * 3600, 0 ,TRUE), """) ขอให้โชคดี
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี CORNY ไม่ทำงานสำหรับฉัน 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
'Updateby20140227
Dim xDeg เป็นสองเท่า
Dim xMin เป็นสองเท่า
Dim 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, เลน(pInput) - InStr(1, pInput, "'") - 1)) _
/ 3600
ConvertDecimal = xDeg + xMin + xSec
ฟังก์ชั่นเอนด์
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ผลการคำนวณผิด... 29°30'13" 34°55'4" ---> 29.00083333 34.08333333
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ