度分秒计算.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
度分秒计算

度分秒计算 一、度分秒值换算为度 首先要将单位符号都去掉,形成 1112233 的形式,分秒小于十的要在其前补0,必须如此,不然无法判断分与秒的位置。 假设原始数据在A列,第一个数据在A2单元格。 在你需要放入转换结果的一个单元格内(最好是与A2同一行,这样有大量原始数据要转换时,直接下拉就可以转换所有数据),输入: =value(MID(IF(LEN(A2)=6,CONCATENATE(0,A2),A2),1,3))+value(MID(IF(LEN(A2)=6,CONCATENATE(0,A2),A2),4,2))/60+value(MID(IF(LEN(A2)=6,CONCATENATE(0,A2),A2),6,2))/3600 回车即可。 下面解释转换方法和函数意义。 以 1112233 为例。 算法是111+(22/60)+(33/3600),即把分、秒都算成度后相加。 MID:意为选择指定的字符,具体写法为MID(数据,顺位,字符数),先指定1-3位(度位),再指定4-5位(分位)/60,再指定6-7位(秒位)/3600。 value:意为转换成为数值,这样才能进行运算。 关键问题在于,度有可能是2位数,如果这样整个数就是6位,上例算式中的 IF(LEN(A2)=6,CONCATENATE(0,A2),A2) 就是处理这样的问题的。意思为如果整个是6位数,就在其前补个0,若不是6位,就直接用原来的数值(呵呵,在中国及周边没有6位和7位以外的经纬度,现在这个算法适用于6位和7位的经纬度)。 IF:条件函数,用法:IF(logical_test,value_if_true,value_if_false),其中logical_test为判断条件,在本例中为LEN(A2)=6,满足条件执行value_if_true,不满足则执行value_if_false。 LEN:为返回字符数的函数。 CONCATENATE:为合并字符函数,写法为:CONCATENATE(text1,text2,...),如要直接使用文本字符,就在其上加英文引号。 二、度转换为度分秒 假设原始数据在A列,第一个数据在A2单元格。 在你需要放入转换结果的一个单元格内(最好是与A2同一行,这样有大量原始数据要转换时,直接下拉就可以转换所有数据),输入: =CONCATENATE(INT(A2),IF(INT((A2-INT(A2))*60)10,CONCATENATE(0,INT((A2-INT(A2))*60)),INT((A2-INT(A2))*60)),IF(ROUND(((A2-INT(A2))*60-INT((A2-INT(A2))*60))*60,0)10,CONCATENATE(0,ROUND(((A2-INT(A2))*60-INT((A2-INT(A2))*60))*60,0)),ROUND(((A2-INT(A2))*60-INT((A2-INT(A2))*60))*60,0))) 回车即可。 解释如下: 以112.1234567度为例。 使用 CONCATENATE 文本组合函数,将分别计算出的度、分、秒组合在一起(其用法参照前一帖)。 本例中的INT(A2),取的是112,即度值;IF(INT((A2-INT(A2))*60)10,CONCATENATE(0,INT((A2-INT(A2))*60)),INT((A2-INT(A2))*60))取的是分值;IF(ROUND(((A2-INT(A2))*60-INT((A2-INT(A2))*60))*60,0)10,CONCATENATE(0,ROUND(((A2-INT(A2))*60-INT((A2-INT(A2))*60))*60,0)),ROUND(((A2-INT(A2))*60-INT((A2-INT(A2))*60))*60,0)),取的是秒值。 比较关键的一点是,分、秒在计算完后可能会小于10,这样就会出现本应为7位的度分秒值成了6位或5位,因此在计算分和秒时,加了一个条件语句,即若其值小于10,就在前面补个0。INT((A2-INT(A2))*60)10是判断分值是否小于10;ROUND(((A2-INT(A2))*60-INT((A2-INT(A2))*60))*60,0)10是判断秒值是否小于10。 INT 是取整函数,可对任意实数向下取整为最接近的整数,向下的意思为往小的方向,如 =INT(3.38)返回3,=INT(-3.38)返回-4。该函数与 TRUNC 函数都有取整的功能,TRUNC 函数可以按需要截取数字的小数部分,而 INT 函数则将数字向下舍入到最接近的整数。INT 和TRUNC 函数在处理负数时不同点:TRUNC(-4.3,0)返回-4,而I

您可能关注的文档

文档评论(0)

sy78219 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档