zoukankan      html  css  js  c++  java
  • 在Excel表中进行度分秒单位转换

    在Excel表中进行度分秒单位转换
    前言
           日前在做项目的时候遇到了一个度分秒单位转换小问题,查询到网上的Excel度分秒单位转换的教程都是依据单元格中某个字符以固定长度截取字符,这样带来的后果就是缺位的情况下,会出现截取字符与期望值不符而造成结果出错,因此经过重新梳理教程,彻底解决了这个问题。
    实现目标:

    转换为

    思路:以逗号为分隔符,分别对前后两部分进行转换
    一、提取逗号以前的字符(纬度)
    =LEFT(J2,FIND(",",J2)-1)
    二、提取逗号以后的字符(经度)
    =RIGHT(J2,LEN(J2)-FIND(",",J2))
    三、x°,x',x"度分秒之前数字的提取
    ①度
    =LEFT(O2,FIND("°",O2)-1)
    ②分
    =MID(O2,FIND("°",O2)+1,FIND("′",O2)-FIND("°",O2)-1)
    ③秒
    =MID(O2,FIND("′",O2)+1,FIND(CHAR(34),O2)-FIND("′",O2)-1)
    提示:CHAR(34)实际为""",但Excel函数识别不了,提示函数错误,需要用字符代码进行替换
    拓展:=FIND(CHAR(34),A1)
    CHAR()是CODE()的反函数。
    CODE()用来找字符的值,CHAR()用值来找字符。
    CHAR(34):34就是"的code
    注:如果Excel提示出错,则逐步检查,如果确定位置为CHAR(34),则可能是因为用户的"的符号编码问题,通过CODE函数检查"的编号,即可继续通过CHAR函数引入相应的编号。
    ④度分秒组合转换算法
    =LEFT(O2,FIND("°",O2)-1)*1+MID(O2,FIND("°",O2)+1,FIND("′",O2)-FIND("°",O2)-1)/60+MID(O2,FIND("′",O2)+1,FIND(CHAR(34),O2)-FIND("′",O2)-1)/3600
    四、将步骤三分别组合步骤一和步骤二
    ①经度
    =LEFT(RIGHT(J2,LEN(J2)-FIND(",",J2)),FIND("°",RIGHT(J2,LEN(J2)-FIND(",",J2)))-1)*1+MID(RIGHT(J2,LEN(J2)-FIND(",",J2)),FIND("°",RIGHT(J2,LEN(J2)-FIND(",",J2)))+1,FIND("′",RIGHT(J2,LEN(J2)-FIND(",",J2)))-FIND("°",RIGHT(J2,LEN(J2)-FIND(",",J2)))-1)/60+MID(RIGHT(J2,LEN(J2)-FIND(",",J2)),FIND("′",RIGHT(J2,LEN(J2)-FIND(",",J2)))+1,FIND(CHAR(34),RIGHT(J2,LEN(J2)-FIND(",",J2)))-FIND("′",RIGHT(J2,LEN(J2)-FIND(",",J2)))-1)/3600
    ②纬度
    =LEFT(LEFT(J2,FIND(",",J2)-1),FIND("°",LEFT(J2,FIND(",",J2)-1))-1)*1+MID(LEFT(J2,FIND(",",J2)-1),FIND("°",LEFT(J2,FIND(",",J2)-1))+1,FIND("′",LEFT(J2,FIND(",",J2)-1))-FIND("°",LEFT(J2,FIND(",",J2)-1))-1)/60+MID(LEFT(J2,FIND(",",J2)-1),FIND("′",LEFT(J2,FIND(",",J2)-1))+1,FIND(CHAR(34),LEFT(J2,FIND(",",J2)-1))-FIND("′",LEFT(J2,FIND(",",J2)-1))-1)/3600
    ---2018年6月于东莞麻涌
  • 相关阅读:
    CSS使用
    html基础
    面对对象之@classmethod、@staticmethod用法
    验证金额价格的正则表达式
    webstorm 2017.2.2 license server
    Oracle 查询当前系统时间十分钟之前的记录,时间比较SQL
    AngularJS-自定义过滤器 ng-repeat 求和
    封装http请求键值对的js函数
    获取当前的日期时间的js函数,格式为“yyyy-MM-dd hh:mm:ss”
    将金额数字转换为大写汉字的js函数
  • 原文地址:https://www.cnblogs.com/pycsharpthon/p/9517189.html
Copyright © 2011-2022 走看看