导线点复核记录excel应用(呕心沥血自动计算)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

导线点复核记录excel应用(自动计算)角度,是工程测量这一行无论如何也避不开的,而电子表格EXCEL软件也是测量人员最爱的计算工具软件之一,如何在EXCEL 中输入、输出(显示)角度,这的确是一个看似简单,实际却很繁琐的问题。

笔者虽是工程资料员,但十分重视excel的应用,也酷爱在excel中编辑函数来进行表格的输入与计算。

譬如下面这张表格,测量员能使用测量仪测出的数据有:测点、方位角、距离,除此之外,像纵坐标△X 、横坐标△Y ,以及坐标X 与坐标Y 必须通过计算求得。

要想完整无缺的在excel中填好这张表格,我们必须解决几个难题。

现在我们能够轻松输入的只有测点和距离。

纵坐标△X值=cos(方位角) *距离,横坐标△Y =sin(方位角)*距离,然后,坐标X =X1(上一点)+△X,坐标Y =Y1(上一点)+△Y。

好,公式都编辑好了,将公式输入相应的位置。

譬如:
在E6单元格中输入:=cos(C6) *D6,在F6单元格中输入=sin(C6)* D6,在G7单元格中输入=G6+E7,在J7单元格中输入=J6+F7,将公式复制到其它单元格,现在只要在这张表格中相应位置分别输入方位角与距离的值,对应的其它空格就会以上面的公式直接计算出结果。

以上是excel中简单的函数应用,几分钟就轻松搞定了。

重点和难点是测角与方位角的输入。

在excel某一单元格中输入=cos(180°),它无法计算结果,因为excel中默认的是弧度制,所有三角运算都是弧度制运算。

所以,=cos(180°)是无法计算的,我们需要将角度转化成弧度,180°=π=3.1415926,我们以=cos(3.1415926)代替=cos(180°)时才能顺利计算结果。

现在我们再回头来看看要填写的表格。

表格中测角和方位角的单位是288°32′45″,因为我们使用测量仪时,得到数据都是以度、分、秒的格式出现的,而excel中格式设置中不存在这种格式。

如果我们将度、分、秒分别放在不同的单元格中输入,再分别在相应
单元格设置自定义格式,按度、分、秒显示,这样虽然能解决问题,但是,一个数据我们就需要进行三次输入。

现在,我们要实现这样一个目标,在单元格中输入2883245,它会自动显示成288°32′45″。

为了实现这样一个目标,很多聪明人想到一个好办法,通过自定义单元格,让它以时、分、秒的格式来显示,这样定义的一个好处是,角度中的分、秒刚好对应了时间的分、秒,都是60进制的换算。

但这种方法存在一个问题,由于这个格式是通过自定义时间格式来实现的,当小时数超过24小时,它就会往天数进位。

譬如:25时56分37秒,它会显示成1时56分37秒,自定义的25°56′37″,输入后会显示为1°56′37″。

那么,我们如何才能摆脱进位的缺陷,而直接显示对应数字的度分秒呢?为了解决这个问题,笔者在网上搜寻相关解决方案,最终无果。

笔者只好自己想办法了,足足研究了一整天,呕心沥血,累死了十万个脑细胞,终于找到了理想的解决方案,与大家分享一下劳动成果。

我们要实现的目标是,输入2883245显示成288°32′45″,用时间
格式定义存在缺陷,不能正常显示,我们能否不设置单元格格式而直接用函数公式来实现这个目标,答案是肯定的。

为了实现这个目标,我们利用表格外的M列做为一个过度的辅助列。

我们来尝试一下,在M6中输入0883245,为了让起始数字为零也能正常显示出来,先设置M6单元格为文本格式。

如果我们能在测角列即B6列中输入一个公式函数,可以实现这样一个目标:提取M6中0883245的前三位数字088加一单位°,提取0883245中第四五位数字32加一单位′,提取0883245中最后两位数字45加一单位″,若能同时实现这三个目标,最终结果就能显示为088°32′45″(先不管前面的零)。

好,让我们一步一步的来实现这个目标。

用MID函数来实现这个目标。

MID函数通常用来提取指定单元格的某一部分数据,譬如:=MID(M6,1,3),M6是指定的单元格,1是从第一位数开始,3是提取三位数。

=MID(M6,1,3)意思是从M6单元格中的数据0883245,自第一位开始,提取三位,得到结果为088,再利用这个函数提取32
和45。

假设M6结果为088,N7得到结果为32,P7得到结果为45。

现在我们只需要将M6、N7和P7进行合并,再在相应的位置加上°、′、″就实现了最终的目标。

这里用到&(和的意思)。

譬如若在B6中输入= M6& N7& P7就得到结果0883245。

这时,有人就会问,好不容易将0883245分成088、32、45了,又要将它并成0883245,这不等于做了无用功吗?其实不然,想一想,我们将分开的数字并起来之前,如果在它们中间插入相应的符号°′″之后再并起来,不就
实现最终目的了(088°32′45″)。

到这里,我想,你们应该会编这个函数了吧?B6中输入=MID(M6,1,3)&"°"&MID(M6,4,2)&"′
"&MID(M6,6,2)&"″" 一步得到最终结果088°32′45″。

好吧,还不明白,我再解释一下结果是怎么来的吧。

M6中数值是0883245,那么B6中的函数=MID(M6,1,3)&"°"&MID(M6,4,2)&"′
"&MID(M6,6,2)&"″",意思就是从0883245中取088并°并32并′45并″。

别高兴得太早了,万里长征才走完第一部。

我们再来仔细看看,通过上述函数得到的测角与方位角XXX°XX′XX″中,若测量仪中读取的数据为5°5′5″,那么我们在M6中输入0050505时,B6中就会显示为005°05′05″,如何去掉前面的度、分、秒前面的零呢?这又将是一个十分复杂的问题。

我们需要通过条件(IF)函数中的嵌套函数来实现这个目标。

来分析一下XXX°XX′XX″显示格式,先来研究一下XXX°。

有三种情况,若XXX°中第一、二位是00,那么我们要求只显示最后一位,变成X°,如果只有第一位是0那么我们要求显示后两位,变成XX°,除此之外,就显示为XXX°。

我们只有将前面的公式做修改,在用MID函数取数的时候,做出判断并正确选择。

怎样通过条件函数来实现这个目标呢?这里要用到嵌套函数,函数如下:
=IF(MID(M6,1,2)="00",MID(M6,3,1),IF(MID(M6,1,1)="0",MID(M6,2, 2),MID(M6,1,3)))
函数解释:如果M6中前两位数的是00,那么就返回M6中第三位数的结果;如果M6中第一位数是0,那么就返回M6中第二三位数,否则,就返回M6中前三位数。

好,再来看看XX′取值问题,函数为:
=IF(MID(M6,4,1)="0",MID(M6,5,1) ,MID(M6,4,2)),
函数含义为:如果M6中第四位数为0,那么返回M中第五位数的结果,否则返回第四、五位数的结果。

XX″取值问题,函数为:
=IF(MID(M6,6,2)="00",””,IF(MID(M6,6,1)="0",MID(M6,7,1),MID(M6, 6,2)))
函数含义为:如果M6中第六、七位数为00,那么返回空值,如果第六位数为0,那么返回第七位数,否则,就返回第六、七位数。

这里,如果秒没有数,则为空值,即为XXX°XX′。

然后再将刚才修改后的度、分、秒的函数并起来,中间并上度、分、秒的单位,得到最终的结果。

最终函数为:
=IF(MID(M6,1,2)="00",MID(M6,3,1),IF(MID(M6,1,1)="0",MID(M6,2, 2),MID(M6,1,3)))&”°”&
IF(MID(M6,1,2)="00",MID(M6,3,1),IF(MID(M6,1,1)="0",MID(M6,2,2) ,MID(M6,1,3)))&”′”&
IF(MID(M6,6,2)="00",””,IF(MID(M6,6,1)="0",MID(M6,7,1),MID(M6,6 ,2)))&”″”
到此为止,测角与方位角的显示问题已经得到很好的解决。

但是,我们这样实现了的测角与方位角的正确显示之后,最终测角与方位角中的数据都已是文本格式,无法直接参与运算。

而且,先前E列(纵坐标△X)E6中输入的函数为=cos(C6) *D6,要求C6中的值是弧度值,这就是说我们要将角度值转换成弧度值,这样任务才算圆满完成了。

因为弧度转换函数中,需要统一单位为“°”,先来实现XXX°XX′XX″统一转换成以“°”为单位。

度、分、秒之间的进制为60。

即1°=60′=360″。

转化时,我们还是调用辅助列M列中的数据(XXX XX XX为七位数)。

譬如,假设M6中数字为abcdefg,我们知道前三位数abc是以度为单位,不用转换,第四五位数de单位为分,第六七位数fg单位为秒,所以我们得到公式:
abc°de′fg″= abc+de*60+fg/3600
增N列为辅助列,还是用MID函数取数进行换算。

假设单位格M6数值为1234321,在N6单元格中输入公式:
= MID(M6,1,3)+ MID(M6,4,2)/60+ MID(M6,6,2)/3600
公式含义:取M6中数值1234321前三位的值123,加上M6中第四五位数字的结果除以60,再加上M6中第六七位数的结果除以3600,算式为=123+43/60+21/3600=123+0.71+0.0058=123.7158。

到了这一步,就只需调用excel中的RADIANS函数,将角度转化成弧度。

=RADIANS(角度),这个函数没什么好解释的了。

增一个辅助列P,单元格P6中输入=RADIANS(N6),就计算出弧度了。

最后,别忘了,先前△X项中单元格,E6=cos(C6) *D6,需将C6替换为P6弧度数值,即为E6=cos(P6) *D6,同理:F6=sin(P6)* D6,至此,表格设计圆满完成,你可以往下复制公式,然后在方位角与距离栏中输入测量仪器读书,享受excel自动计算的硕果了。

相关文档
最新文档