Excel表格将度分秒转换成度
的有关信息介绍如下:数学里面,用度(°)、分(′)、秒(″)表示角度,1°=60′,1′=60″。
如下表所示,要将A列单元格里面的度分秒(°′″)转换成度(°),该如何操作呢?
打开Excel表格,按下【Alt+F11】组合键调出VBE编辑器。
点击【插入】、【模块】。
在模块代码框里面输入以下VBA程序代码,确认无误后按下【F5】键运行程序。
Sub DuFenMiao()
Dim i2, i3, i4, i5, i6, arr1, arr2
On Error Resume Next '忽略运行过程中可能出现的错误
Set mysheet2 = ThisWorkbook.Worksheets("Sheet2") '定义Sheet2
arr1 = Array("°", "′", "″") '度分秒数组合集
arr2 = Array(1, 60, 3600) ' 1°=60′,1°=3600″
For i2 = 2 To 1000 '从第2行到1000行
If mysheet2.Cells(i2, 1) <> "" Then '如果单元格不是空白,则
i4 = 0
For i3 = 0 To 2
i6 = i4
i4 = InStr(1, mysheet2.Cells(i2, 1), arr1(i3)) '获取°′″所在的位置
If i3 = 0 Then
荡民 i5 = Mid(mysheet2.Cells(i2, 1), 1, i4 - 1) '截取°前面的字符
Else
i5 = Mid(mysheet2.Cells(i2, 1), i6 + 1, i4 - i6 - 1) / arr2(i3) + i5
End If
Next
mysheet2.Cells(i2, 2) = i5 & arr1(0) '雁佛将计算结果写入相应单元格
End If
Next
End Sub
回到工作表界面,将会看到求解结果八沟耍。
在B2单元格输入函数公式=LEFT(A2,SEARCH("°",A2,1)-1)+MID(A2,SEARCH("°",A2,1)+1,SEARCH("′",A2,1)-SEARCH("°",A2,1)-1)/60+MID(A2,SEARCH("′",A2,1)+1,LEN(A2)-SEARCH("′",A2,1)-1)/3600&"°"
将B2单元格向下复制填充,将会看到求解结果。
函数公式释义:
(1)在Excel表格里面,带有°′″的数值不能直接参与计算,此时只能截取单位前面的字符参与计算。
(2)LEFT是从左侧开始截取指定个数的字符,即:LEFT(待截取字符,截取个数)。
(3)MID是从指定位置开始截取指定个数的字符,即:MID(待截取字符,起始位置,截取个数)。
(4)SEARCH是查找某一元素在单元格里面的位置,即:SEARCH(要查找的字符,被查找的内容,起始位置)。
(5)LEN是获取单元格字符个数的函数。