Định dạng "Độ phút giây" trong Excel

Liên hệ QC

duongvancau

Thành viên mới
Tham gia
25/10/07
Bài viết
7
Được thích
19
__--__ Làm sao để có thể định dạng số dạng "độ phút giây" trong Excel. Bạn nào biết, chỉ giúp. Cám ơn nhiều
 
Cái này trên GPE có lâu rồi (không nhớ rõ tác giả... Sorry), mình send lại cho bạn dùng nhé:

DEGREES(angle) ' VD : DEGREES(Pi()) = 180
RADIANS(angle) ' VD : RADIANS(90) = 1.5707963267949 (Pi/2)

Để đổi Radian thành Độ, Phút, Giây bạn sử dụng hàm
VD : A1 = 16.3636363636364 (~Pi/11)
Độ B1 = INT(A1) => 16
Phút C1 = INT(MOD(A1,1)*60) => 21
Giây D1 = INT(MOD(MOD(A1,1)*60,1)*60) => 49
E1 =B1&"o"&C1&"'"&D1&"""" => 16o21'49"
 
__--__ Làm sao để có thể định dạng số dạng "độ phút giây" trong Excel. Bạn nào biết, chỉ giúp. Cám ơn nhiều
Có phải bạn muốn hỏi cái này:
000-112.gif
Ô C1, có công thức là =A1-B1
Có nghĩa là định dạng thành dạng độ/phút/giây, nhưng vẫn tính toán được ?
Bạn xem file đính kèm nha.
 

File đính kèm

  • Dophutgiay.xls
    21.5 KB · Đọc: 2,766
Lần chỉnh sửa cuối:
Có phải bạn muốn hỏi cái này:
000-112.gif
Ô C1, có công thức là =A1-B1
Có nghĩa là định dạng thành dạng độ/phút/giây, nhưng vẫn tính toán được ?
Bạn xem file đính kèm nha.


bạn có thể nói rõ hơn được không. có phải định dạng này dựa vào việc chia thời gian trên mặt đồng hồ không. Nhưng nếu như tôi có một số là 720 d 13p35s thì nhập như thế nào để được
 
bạn có thể nói rõ hơn được không. có phải định dạng này dựa vào việc chia thời gian trên mặt đồng hồ không. Nhưng nếu như tôi có một số là 720 d 13p35s thì nhập như thế nào để được
Độ ở đây là độ Radian, không phải là là việc chia thời gian trên mặt đồng hồ.
Nếu bạn muốn định dạng số 720 độ 13 phút 35 giây, bạn định dạng cho ô giống như cái file tôi đính kèm ở bài trên, rồi nhập vào ô theo nguyên tắc: 720:13:35 (có dấu 2 chấm giữa các thành phần)
 
Độ phút giây

/-*+/ Cám ơn bạn BNTT!
Từ file của bạn tôi đã mở rộng thêm để nhìn cho đẹp và nhập cho dễ
Tôi đưa lên để các bạn tham khảo
 

File đính kèm

  • Dophutgiay.xls
    22.5 KB · Đọc: 1,053
Lần chỉnh sửa cuối:
/-*+/ Cám ơn bạn BNTT!
Từ file của bạn tôi đã mở rộng thêm để nhìn cho đẹp và nhập cho dễ
Tôi đưa lên để các bạn tham khảo
Cho hỏi một câu khí không phải...
Bạn làm file đó là dựa trên file có sẵn.
Bạn có thể tự mình làm một file mới mà ra được như vậy không?
Nếu được, bạn có thể trình bày cách làm ở đây không?
 
Re DoPhutGiay

Tôi đã nói rõ là dựa trên định dạng file của bạn BNTT rồi còn gì
Tất nhiên phần mở rộng là tôi phải nghĩ ra.
Công việc của tôi thường gặp là trích xuất tọa độ của các điểm trên bản đồ (MapInfo)
ra Excel (thông qua dạng text) để tính toán, liên kết với các phần mềm khác.
Từ MapInfo xuất ra thì độ phút giây nó liền thành một cục. Ví dụ 15 độ 12 phút 25 giây thì xuất ra 151225. 105 độ 21 phút 46 giây thì xuất ra 1052146.
Từ nhu cầu thực tế đó, dựa vào định dạng của BNTT và các hàm có sẵn tôi đã thực hiện được.
Bạn nào có phương pháp gọn hơn, hay hơn đưa lên để chúng ta cùng trao đổi
Cám ơn các bạn
 

File đính kèm

  • Dophutgiay1.xls
    22.5 KB · Đọc: 451
định dạng độ phút giây

bạn xem file đính kèm nhé!!!
 

File đính kèm

  • dinh dạng lượng giác.xls
    18 KB · Đọc: 589
DoPhutGiay

Cám ơn bạn Sơn.
Cách định dạng của bạn rất hay
Song tính toán không được
Hãy xem file đính kèm
 

File đính kèm

  • Dophutgiay(SoSanh).xls
    23.5 KB · Đọc: 511
Chỉ là giả

Cám ơn bạn Sơn.
Cách định dạng của bạn rất hay
Song tính toán không được
Hãy xem file đính kèm

Đúng vậy, đây là định dạng giả theo thời gian hh:mm:ss. Nên có thể nói là không tính toán theo đúng bản chất.

Muốn tính toán được bạn phải cho dữ liệu vào ô mới tính được, còn không thì phải kết hợp hàm FORMAT.

Đây chưa chắc là cách hay
 
Nếu theo nguyenngocson là sai kết quả không đúng các bạn mà dùng dịnh dạng này mà bình sai trắc địa hoặc tính toán là chết đấy

các bạn dùng thư hàn TAN(), Cos(), Sin() .... thử xem kết quả thế nào
 
Chỉnh sửa lần cuối bởi điều hành viên:
1. Mẹo thể hiện góc theo độ trong Excel:

Trong kỹ thuật, nhiều công việc phải thể hiện ở dạng độ như 12°15'. Nhưng trong Excel không có, vì vậy bạn có thể tạo dạng này như sau:
+ Chọn ô để thể hiện độ.
+ Vào Format/Cell/Number, chọn mục Custom.
+ Copy nội dung (###"°"##"'") trong Type.
+ Bạn chỉ nhập số liền vào.
Chú ý: Một số font chữ không thể hiện đầy đủ góc theo độ và phải có quy ước khi nhập góc phút, nếu phút < 10 thì phải thêm số 0 trước. :.

2. Tính giá trị trung bình của góc thể hiện ở độ, phút:
Bạn đã biết định dạng góc ở dạng độ & phút, góc đó thể hiện ở dạng số. Ta có thể tính toán được giá trị trung bình của nó bằng hàm sau:

Code: Select all Function gocTB(Vung)
On Error GoTo Sai
Dim i, Dai, Tong, Goctheophut, TB, Trai, Phai
Tong = 0
i = 0
Dim Ogoc
For Each Ogoc In Vung
Dai = Len(Ogoc)
If Ogoc <> 0 Then
Goctheophut = Val(Left(Ogoc, Dai - 2) * 60) + Val(Right(Ogoc, 2))
Tong = Tong + Goctheophut
i = i + 1
Else
i = i
End If

Next
TB = Tong / i / 60
Trai = Int(TB)
Phai = Round((TB - Trai) * 60, 0)
If Phai > 10 Then
gocTB = Trai & "°" & Phai & "'"
Else
gocTB = Trai & "°0" & Phai & "'"
End If
Exit Function
Sai:
gocTB = "So lieu sai"
End Function

3. Góc thể hiện cả độ, phút, giây:
Để thể hiện ở dạng độ, phút, giây như 12°15'22'', bạn thực hiện như sau:
+ Chọn ô để thể hiện độ.
+ Vào Format/Cell/Number, chọn mục Custom.
+ Copy nội dung ##"°"##"'"##"''" trong Type.
+ Bạn chỉ nhập số liền vào.

Sau đó để tính giá trị trung bình thì copy đoạn code sau:


Function Gocgiay(Vung)
On Error GoTo Sailam
Dim i, Dai, Tong, Goctheogiay, TB, Trai, Giua, Phai
Tong = 0
i = 0
Dim Ogoc
For Each Ogoc In Vung
Dai = Len(Ogoc)
If Ogoc <> 0 Then
Goctheogiay = Val(Left(Ogoc, Dai - 4) * 3600) + Val(Left(Right(Ogoc, 4), 2) * 60) + Val(Right(Ogoc, 2))
Tong = Tong + Goctheogiay
i = i + 1
Else
i = i
End If

Next
TB = Tong / i / 3600
Trai = Int(TB)
Giua = Int((TB - Trai) * 60)
Phai = Round(((TB - Trai) * 60 - Giua) * 60, 0)
If Phai > 10 And Giua > 10 Then
Gocgiay = Trai & "°" & Giua & "'" & Phai & "''"
ElseIf Phai > 10 And Giua < 10 Then
Gocgiay = Trai & "°0" & Giua & "'" & Phai & "''"
ElseIf Phai < 10 And Giua > 10 Then
Gocgiay = Trai & "°" & Giua & "'0" & Phai & "''"
Else
Gocgiay = Trai & "°0" & Giua & "'0" & Phai & "''"
End If
Exit Function
Sailam:
Gocgiay = "So lieu sai"
End Function

Đây là tài liệu mình sưu tầm trên trang web : http://www.geosoftvn.com/forums/viewtopic.php?f=25&t=477:mot-so-vi-du-ve-lap-trinh-vba-for-excel:
(không nhầm thì của bác PhanTuHuong)

 
Cảm ơn các bạn.
Giải pháp của các bạn rất hay nhưng thực sự mình thấy vẫn chưa hiệu quả lắm.
Mình phát hiện ra 1 vấn đề là khi tính toán bằng cách của các bạn nếu góc nhỏ hơn 0 thì kết quả sẽ lỗi
Rất mong sẽ có giải pháp nào đó tốt hơn cho vấn đề này.
File đính kèm sự so sánh
 

File đính kèm

  • Dophutgiay-nhanxet.xls
    23 KB · Đọc: 116
Có phải bạn muốn hỏi cái này:
000-112.gif
Ô C1, có công thức là =A1-B1
Có nghĩa là định dạng thành dạng độ/phút/giây, nhưng vẫn tính toán được ?
Bạn xem file đính kèm nha.


BNTT giải thích giùm quy luật để nhập góc sao cho dễ hiểu một chút không
 
Có phải bạn muốn hỏi cái này:
000-112.gif
Ô C1, có công thức là =A1-B1
Có nghĩa là định dạng thành dạng độ/phút/giây, nhưng vẫn tính toán được ?
Bạn xem file đính kèm nha.
Bạn có thể hướng dẫn chi tiết cách nhập dữ liệu không ?
 
Mình có thể tách hàm ra nghĩa là: định dạng để thể hiện góc còn tính bằng hàm
Xem thử file
Thân !
 

File đính kèm

  • Luong Giac.xls
    26.5 KB · Đọc: 173
Kết quả sai nếu phần phút và giây cộng vào nhau lớn hơn 60
 
file của bạn mình thấy hay hơn cả, nhưng khi chuyển từ độ sang radians thì cần phải chia cho 10000
Cám ơn bạn nhiều nhé!
 
Web KT
Back
Top Bottom