PDA

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



duongvancau
21-11-08, 06:10 AM
__--__ 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

cop_kh
21-11-08, 07:28 AM
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"

BNTT
21-11-08, 09:23 AM
__--__ 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:

http://i216.photobucket.com/albums/cc49/BNTT_photos/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.

sututam
24-11-08, 09:55 AM
Có phải bạn muốn hỏi cái này:
http://i216.photobucket.com/albums/cc49/BNTT_photos/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

BNTT
24-11-08, 10:05 AM
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)

duongvancau
24-11-08, 04:45 PM
/-*+/ 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

BNTT
24-11-08, 05:17 PM
/-*+/ 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?

duongvancau
25-11-08, 08:13 AM
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

NguyenNgocSon
26-11-08, 12:55 PM
bạn xem file đính kèm nhé!!!

duongvancau
26-11-08, 06:58 PM
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

tigertiger
26-11-08, 07:08 PM
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

ndu96081631
26-11-08, 07:19 PM
bạn xem file đính kèm nhé!!!
Trò này nhìn cũng hay, nhưng chả cộng trừ được gì ráo:
22°31' + 22°30' = 44°61' ---> Nhìn hơi buồn cười

Trần Văn Bình
26-11-08, 11:22 PM
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

NguyenNgocSon
27-11-08, 12:30 AM
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 (http://www.geosoftvn.com/forums/viewtopic.php?f=25&t=477:mot-so-vi-du-ve-lap-trinh-vba-for-excel:#) 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)

quocanhonline89
26-04-10, 11:19 PM
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

hoangdiephb
02-07-10, 03:16 PM
Có phải bạn muốn hỏi cái này:

http://i216.photobucket.com/albums/cc49/BNTT_photos/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

vtshb
02-07-10, 04:48 PM
Có phải bạn muốn hỏi cái này:

http://i216.photobucket.com/albums/cc49/BNTT_photos/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 ?

NguyenNgocSon
20-08-10, 10:16 AM
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 !

thanhduan2407
20-08-10, 10:34 AM
Kết quả sai nếu phần phút và giây cộng vào nhau lớn hơn 60

minhsonbacgiang
19-09-10, 06:06 PM
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é!

thesaintzero
09-10-10, 12:22 PM
Cụ thể là sau khi xem mấy bạn kia mình cũng rút ra 1 số kinh nghiệm như thế này :
ban nhập 1 ô như thế này :cột A3 173002
sau đó bạn dùng 1 công thức cho cột kế bên như sau : =VALUE(CONCATENATE(LEFT(A3;2);":";MID(A3;3;2);":";RIGHT(A3;2)))
Trong phần format cell : ban chọn định dạng là [h]"° "mm"' "ss"''"
Trong ô bạn muốn + hay - thì bạn dùng công thức như sau : =IF(C3-B3<0;C3-B3+(VALUE(CONCATENATE(360;":";0;":";0)));C3-B3)
Bạn thử xem nha! chúc bạn thành công........ Mình có kèm theo 1 bản ví dụ bạn xem nha!
(trong bảng tính của mình thì không có phần giá trị âm, nhưng mình đã khắc phục được phần đó, các bạn xem và cho mình ý kiến nha! )

nghiadoi
22-12-10, 05:50 PM
cảm ơn các bác !
Trang geosoft bác Sơn gửi không vào được nữa để tham khảo.
Cách của bác Sơn chỉ đúng khi thể hiện dữ liệu, chứ tính toán chưa ổn.
Cách của bác duongvancau thì chưa khắc phục được nếu góc <0 độ
Cách của bác thesaint cũng chưa khắc phục được nếu góc <0 độ, nhưng có phần áp dụng nhập liệu như bác Sơn sẽ dễ dàng hơn.
em đang tìm hiểu ứng dụng excell trong giải toán trắc địa, tiếc trang bác Sơn gửi đã bị suppend

haonlh
23-12-10, 09:45 AM
Với góc âm ta cộng thêm 360 độ. Tuy nhiên đừng dùng IF mà dùng MOD

Ví dụ ô A1 = 1:7:3, B1 = 2:3:4, C1 = mod(a1 - b2, 15)

Con số 15 là do 360 / 24

Chú ý là định dạng Time với Type là 37:30:55 (nhìn hộp thoại)

gazener
05-05-11, 08:21 PM
mình đã thử tất cả các cách nhưng vẩn có lỗi
vd khi lấy 89d12'52"-208d24'30" thì không ra kết quả

vinhmr79
29-08-11, 11:59 AM
Cụ thể là sau khi xem mấy bạn kia mình cũng rút ra 1 số kinh nghiệm như thế này :
ban nhập 1 ô như thế này :cột A3 173002
sau đó bạn dùng 1 công thức cho cột kế bên như sau : =VALUE(CONCATENATE(LEFT(A3;2);":";MID(A3;3;2);":";RIGHT(A3;2)))
Trong phần format cell : ban chọn định dạng là [h]"° "mm"' "ss"''"
Trong ô bạn muốn + hay - thì bạn dùng công thức như sau : =IF(C3-B3<0;C3-B3+(VALUE(CONCATENATE(360;":";0;":";0)));C3-B3)
Bạn thử xem nha! chúc bạn thành công........ Mình có kèm theo 1 bản ví dụ bạn xem nha!
(trong bảng tính của mình thì không có phần giá trị âm, nhưng mình đã khắc phục được phần đó, các bạn xem và cho mình ý kiến nha! )

Nhờ các anh em tư vấn giùm (mình ko rành về EXCEL):
Hiện mình đang cần tính cộng trừ các góc lượng giác với định dạng như sau 351.2654(351 độ 26 phút 54 giây).
Nếu làm phép tính thông thuờng thì có những kết quả với phần độ, phút giây lớn hơn tương ứng 360; 60'; 60".
Vậy phải làm thế nào để mình có thể có được kết quả như mogn muốn.
Rất mong các anh em giúp đỡ. Thanks nhiều.

nguyenhue711
17-10-11, 09:42 AM
bạn ơi trong excel 2003 của mình ko có định dạng ##"°"##"'"##"''" thì mình phải làm thế nào? bạn giúp mình nhé!!

0987436159
18-10-11, 10:33 AM
ông bạn cho tui hỏi tý, toi dang làm trắc địa công trình, exel của tui mở ra là định dạng không phải độ phút giây, toi muôn khi mo ra nó là độ phút giây thì phải làm sao?

nomal
25-04-12, 12:52 PM
Nói chung là các cách làm đều có cái hay của nó riêng
1. là các góc phải <100 độ
2. các góc phải lớn hơn > 100 độ
còn trong bảng tính vừa có cả góc ,100 độ và có cả góc lơn hơn > 100 độ thì không thể làm được

thesaintzero
25-04-12, 08:08 PM
Ai nói bạn là không làm được......tất cả các cách trên đều chỉ ra 1 điều rằng trong khi làm việc ở điều kiện nào thì mới có kết quả của nó Vd: như tui làm thì góc chỉ nằm trong khoảng 0---> 360 độ nên thực hiện việc các góc âm phải cộng vào 360 độ để cho đủ góc ( chỉ lấy góc bù ) còn việc tính toán thế nào là do trong phần làm của mỗi người chứ.

MrRen
31-05-12, 07:24 PM
Bạn ơi nhập như file đính kèm thì tính toán bình + - * chia đc nhưng tính sin cos tan ko đc

haonlh
01-06-12, 10:17 AM
Bạn ơi nhập như file đính kèm thì tính toán bình + - * chia đc nhưng tính sin cos tan ko đc

Nhiều bạn quá, không biết ai mà ơi.

Có chuyện vui trên Vnexpress: Một anh chàng nhận được thư nói: "muốn sống thì cắt quan hệ với vợ tao đi, song không biết cắt cô nào, vì thư không nói rõ ai".

Kinh nghiệm muốn nói với ai thì viết rõ tên hoặc chọn thêm chức năng "Trả lời với trích dẫn"