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

Làm thế nào để chuyển đổi độ thập phân sang độ phút giây trong Excel?

Đôi khi, bạn có thể có danh sách dữ liệu được hiển thị dưới dạng độ thập phân trong trang tính và bây giờ bạn cần chuyển đổi độ thập phân thành độ, phút và giây định dạng như được hiển thị như ảnh chụp màn hình sau đây, làm cách nào bạn có thể tải cuộc trò chuyện nhanh chóng trong Excel?

Chuyển đổi độ thập phân thành độ, phút, giây với VBA

Chuyển đổi độ, phút, giây sang độ thập phân với VBA

Tab Office Cho phép Chỉnh sửa và Duyệt theo Tab trong Office, và Giúp Công việc của Bạn Dễ dàng hơn Nhiều ...
Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn
  • Tái sử dụng mọi thứ: Thêm các công thức, biểu đồ và bất kỳ thứ gì khác được sử dụng nhiều nhất hoặc phức tạp vào mục yêu thích của bạn và nhanh chóng sử dụng lại chúng trong tương lai.
  • Hơn 20 tính năng văn bản: Trích xuất số từ chuỗi văn bản; Trích xuất hoặc loại bỏ một phần nội dung; Chuyển đổi số và tiền tệ sang từ tiếng Anh.
  • Công cụ hợp nhất: Nhiều Workbook và Sheets thành một; Hợp nhất nhiều ô / hàng / cột mà không làm mất dữ liệu; Hợp nhất các hàng và tổng trùng lặp.
  • Công cụ tách: Chia Dữ liệu thành Nhiều Trang tính Dựa trên Giá trị; Một sổ làm việc cho nhiều tệp Excel, PDF hoặc CSV; Một cột đến nhiều cột.
  • Dán bỏ qua Hàng ẩn / được lọc; Đếm và tổng theo Màu nền; Gửi hàng loạt email được cá nhân hóa cho nhiều người nhận.
  • Bộ lọc siêu: Tạo lược đồ lọc nâng cao và áp dụng cho bất kỳ trang tính nào; Sắp xếp theo tuần, ngày, tần suất và hơn thế nữa; Lọc bằng cách in đậm, công thức, chú thích ...
  • Hơn 300 tính năng mạnh mẽ; Hoạt động với Office 2007-2021 và 365; Hỗ trợ tất cả các ngôn ngữ; Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn.

mũi tên màu xanh bong bóng bên phải Chuyển đổi độ thập phân thành độ, phút, giây với VBA

Vui lòng làm theo các bước dưới đây để chuyển đổi độ thập phân sang độ, phút và giây bằng mã VBA.

1. Giữ ALT nút và báo chí F11 trên bàn phím để mở Microsoft Visual Basic cho ứng dụng cửa sổ.

2. nhấp chuột Chèn > Mô-đunvà sao chép VBA vào mô-đun.

VBA: Chuyển đổi độ thập phân thành độ, phút và giây

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. nhấp chuột chạy nút hoặc bấm F5 để chạy VBA.

4. Một hộp thoại hiển thị trên màn hình và bạn có thể chọn các ô bạn muốn chuyển đổi. Xem ảnh chụp màn hình:

5. nhấp chuột OK, sau đó dữ liệu đã chọn được chuyển đổi thành độ, phút và giây. Xem ảnh chụp màn hình:

Mẹo: Sử dụng mã VBA ở trên sẽ làm mất dữ liệu gốc của bạn, vì vậy tốt hơn bạn nên sao chép dữ liệu trước khi chạy mã.


mũi tên màu xanh bong bóng bên phải Chuyển đổi độ, phút, giây sang độ thập phân với VBA

Đôi khi, bạn có thể muốn chuyển đổi dữ liệu ở định dạng độ / phút / giây sang độ thập phân, mã VBA sau có thể giúp bạn nhanh chóng hoàn thành công việc.

1. Giữ ALNút T và nhấn F11 trên bàn phím để mở cửa sổ Microsoft Visual Basic for Application.

2. nhấp chuột Chèn > Mô-đunvà sao chép VBA vào mô-đun.

VBA: Chuyển đổi độ, phút và giây sang độ thập phân

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. Lưu mã và đóng cửa sổ, chọn một ô trống, ví dụ: Ô A1, nhập công thức này = ConvertDecimal ("10 ° 27 '36" "") ("10 ° 27 '36" "" là độ bạn muốn chuyển đổi sang độ thập phân, bạn có thể thay đổi nó khi cần), sau đó nhấp vào đăng ký hạng mục thi cái nút. Xem ảnh chụp màn hình:


Bài báo tương đối

Nhận xét (16)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
có một số lỗi trong mã tôi đã cố gắng chuyển đổi 26 ° 10'55.416 "bằng cách sử dụng mã này mà kết quả là 26.00139 mà phải là 26.18206 (Được tính toán và xác minh .. vui lòng cho tôi biết nếu có ai biết lý do.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
[quote] có một số lỗi trong mã, tôi đã cố gắng chuyển đổi 26 ° 10'55.416 "bằng cách sử dụng mã này, kết quả là 26.00139 mà phải là 26.18206 (Được tính toán và xác minh .. vui lòng cho tôi biết nếu có ai biết lý do.Bởi Rajansinh Zala[/ quote] Có vẻ như mã mong đợi một khoảng trắng sau ký hiệu ° và '. 26 ° 10 '55.416 "cho câu trả lời chính xác. Bạn có thể nhập thông tin đầu vào của mình vào một ô (ví dụ: A1) và lấy kết quả trong một ô khác bằng cách sử dụng công thức = ConvertDecimal (A1). Điều này rất tiện lợi nếu bạn có nhiều số được chuyển đổi.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Thực sự hữu ích. Cảm ơn bạn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Điều quan trọng nhất cần nhận ra là bạn không thể chỉ đơn giản sử dụng chỉ số trên và chữ o nhỏ cho ký hiệu độ - điều này có thể rõ ràng với một số người, nhưng với tôi thì không. Tôi đã thử ký tự trên o và nó không hoạt động, tôi đã xóa ký tự trên o và sử dụng Alt 0176 cho ký hiệu độ thực tế và nó đã hoạt động !! Tôi bối rối là tại sao sau vài giây lại có thêm bộ dấu ngoặc kép? 36 "" ") trong khi trong nhận xét tiếp theo nếu người ta chỉ đơn giản sử dụng = ConvertDecimal (A1) thì chỉ một tập hợp các dấu ngoặc kép được sử dụng trong vài giây. Thật kỳ lạ là chúng ta có thể sử dụng dấu nháy đơn và dấu ngoặc kép và điều này hoạt động trong phút và giây nhưng ký tự trên o không? Để kiểm tra 27/60 = .45 smf 36/3600 = .01, hãy thêm cả hai = .46 và thêm nó vào độ = 10.46 độ. Hy vọng điều này sẽ giúp những người khác? Mort
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tìm thấy mã này rất hữu ích. Công cụ tuyệt vời!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi muốn vẽ các vị trí trên bản đồ và chúng tôi không lo lắng về N, S, E hoặc W. Tôi chắc rằng chúng có thể được thêm vào bằng câu lệnh "nếu". Tôi vừa sử dụng một dòng hàm rất đơn giản trong bảng tính Excel. Tôi muốn chuyển từ Độ (Thập phân) sang Độ, Giây (Thập phân) Thay đổi giá trị âm thành dương vì tôi biết mình đang ở bán cầu nào. Đối với tôi, ô E4 chứa Lat hoặc Long mục tiêu (Thập phân). Điều này dễ dàng hơn một chút so với việc nhập một số mã VBA và có thể được mở rộng để thực hiện DD, MM, SS = CONCATENATE (TRUNC (ABS (E4)), "°", FIXED ((ABS (E4) -TRUNC (ABS (E4) ))) * 60,2), "'")
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
hoạt động tuyệt vời nhưng làm thế nào tôi sẽ điều chỉnh mã để nhận được nhiều số hơn trong vài giây?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, tôi đã sử dụng tập lệnh để chuyển đổi số thập phân sang DMS tuy nhiên mã bị sai ở đâu đó vì nó bật ra 37.856908, -120.912469 thành 37D 51M 25S, -121D 5M 15S Đây là cách ... Có ai có cách sửa lỗi này không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Không chắc chắn có gì sai với mã trong bài đăng từ Ernie, nhưng đây là những gì tôi sử dụng để chuyển đổi độ thập phân sang độ DMS trong bảng tính mà không sử dụng VB. Tham chiếu đến ô E33 là ô chứa giá trị độ thập phân. = CONCAT (CỐ ĐỊNH (INT (B32), 0), "°", CỐ ĐỊNH (((B32 - INT (B32)) * 60), 0), "'", CỐ ĐỊNH (((B32 - INT (B32) - INT (B32 - INT (B32))) * 3600), 0, TRUE), "" ") Chúc may mắn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
HI CORNY, KHÔNG LÀM VIỆC CHO TÔI, EXCEL KHÔNG CHẤP NHẬN CHỨC NĂNG ..... ĐIỀU GÌ SAI? BẠN CÓ THỂ GIÚP TÔI ĐƯỢC KHÔNG?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
làm ơn, tôi muốn bạn giúp và viết một chương trình máy tính trên giấy để chuyển đổi số thập phân của độ sang độ phút và giây. 317.5986740026 từ ahans.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
bước 1, Nhân các số sau số thập phân với 60 (0.5986740026 * 60) phút = 35.92044015 nghĩa là 35 phút
spet 2, nhân số thập phân sau phút tức là 0.9204401 * 60 = 55.2264
như vậy 317 độ 35 phút 55 giây
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Hoạt động như một nhà vô địch! Cám ơn vì đã chia sẻ!!!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Kiểm tra kết quả của bạn. mã này là sai.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Mã có một giả định là có một khoảng trắng sau ° và '. Thay đổi số 2 thành số 1 trong mã để giải quyết nó.
Hàm ConvertDecimal (pInput As String) As Double
'Updateby20140227
Dim xDeg tăng gấp đôi
Dim xMin As Double
Dim xSec As Double
xDeg = Val (Left (pInput, InStr (1, pInput, "°") - 1))
xMin = Val (Giữa (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
Cuối Chức năng
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Kết quả tính toán SAI ... 29 ° 30'13 "34 ° 55'4" ---> 29.00083333 34.08333333
Không có bình luận nào được đăng ở đây

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL