流量四舍六入计算在电子表格中运用Word文档下载推荐.docx
《流量四舍六入计算在电子表格中运用Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《流量四舍六入计算在电子表格中运用Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。
因此,实测流量计算中有关水文要素,虽然受有效数字及保留小数位数两方面约束,但在数字处理中,可以仅通过直接或间接考虑小数保留位数实现。
二:
分析“四舍六入”,可以看出,它是“四舍五入”的一个特例,只在一种特殊情况下“舍”,即当数值X应该保留部分的末位为偶数,末位后面只有1位且为“5”,数据处理的主要工作就是判断该种情况的发生。
其它情况按照数学上的“四舍五入”法则即可满足要求。
判断过程见图1。
三:
数据处理公式的编写
分析图一,待处理数字X应该保留m位小数,第m位后面的数字舍去需满足三个条件:
(1)第m位为偶数,
(2)第m+1位为“5”,(3)“5”(第m+1位)后面数字为0。
小数第m位数字的表达式为INT(X*10^m)-10*INTX*10^(m-1),式中,INT(number)为取整函数,其中参数number可以为常数、函数或表达式。
则满足条件
(2)的表达式为:
INT(X*10^(m+1))-10*INTX*10^(m)=5;
满足条件(3)的表达式为:
INT(X*10^(m+1))-X*10^(m+1)=0;
偶数的判断采用余数函数MOD(number,Num_digit),该函数表示被除数number除以除数Num_digit的余数,其中参数number可以为常数、函数或表达式。
由数学知识可知,如number为偶数,则能被2整除,即MOD(number,2)=0,因此,满足条件
(1)的表达式为MOD(INT(X*10^m)-10*INT(X*10^(m-1)),2)=0。
几个条件同时满足,由逻辑函数AND(logical1,logical2,...)表示,其中Logical1,logical2,...表示待检测的若干个条件值,各条件值可能为TRUE,可能为FALSE。
参数必须是逻辑值,或者包含逻辑值的表达式,所有参数的逻辑值为真时返回TRUE。
(1)、
(2)、(3)条件都满足的表达式为:
AND(INT(X*10^(m+1))-10*INT(X*10^(m))=5,MOD(INT(X*10^m)-10*INT(X*10^(m-1)),2)=0,INT(X*10^(m+1))-X*10^(m+1)=0)。
数据处理采用IF函数。
它的语法为IF(logical_test,value_if_true,value_if_false)。
其中Logical_test表示计算结果为TRUE或FALSE的任意值或表达式。
该函数表示,如果第一个参数logical_test返回的结果为真的话,则执行第二个参数Value_if_true的结果,否则执行第三个参数Value_if_false的结果。
待处理数字X的公式为IF(AND(INT(X*10^(m+1))-10*INT(X*10^(m))=5,MOD(INT(X*10^m)-10*INT(X*10^(m-1)),2)=0,INT(X*10^(m+1))-X*10^(m+1)=0),TRUNC(X,m),ROUND(X,m))。
公式中TRUNC(X,m)表示将X的第m位小数后面的部分截去,结果保留m位小数;
ROUND(X,m)表示对X进行“四舍五入”处理,结果保留的m位小数。
简言之,该式表示当X同时满足上述三个条件时,保留m位小数,不做舍入处理,否则对X进行“四舍五入”处理,保留m位小数。
2、计算工具制作举例
2.1、表格及页面
按“——站流量测算表”样式,在电子表中画出。
表中横向格子交错,可先合并单元格。
如将水深部分,C8:
C9合并,C10:
C11合并;
垂线平均水深部分,将L8:
L10合并,L11:
L12合并,就得到交错的目的。
其余部分,用常用工具览中“格式刷”一刷而就。
该表设置为一页,为输出成果页。
计算过程及精度取舍计算放在右页(可用A4纸),计算结果引入输出页。
这样设置,便于计算过程的编写和工作表的保护。
2.2、水尺零点高程
在输出页A5单元格,录入测流水尺编号,在计算过程页AC2单元格写入该组各水尺的零点高程:
(以汊河集站流速仪断面为例)=IF(A5="
C3"
11.82,IF(A5="
C4"
11.09,IF(A5="
C5"
10.25,IF(A5="
C6"
9.16,IF(A5="
C7"
8.46,IF(A5="
C8"
7.63,"
无该水尺"
)))))),式中数字为各水尺零点高程,范围从C3—C8,如录入错误或越界,则提示“无该水尺”。
2.3、测点深度
AF8单元格为非取舍精度测点深度,测点深度大于5.0m的表达式在AG8单元格写入:
=IF(AND(MOD(INT(AF8*10),2)=0,INT(AF8*100)-INT(AF8*10)*10=5,AF8*100=INT(AF8*100)),TRUNC(AE8,1),ROUND(AF8,1))
测点深度小于5.0m的表达式在AH8单元格写入:
=IF(AND(MOD(INT(AF8*100),2)=0,INT(AF8*1000)-INT(AF8*100)*10=5,AF8*1000=INT(AF8*1000)),TRUNC(AF8,2),ROUND(AF8,2))。
AI8单元格为计算结果:
=IF(AF8>
=5,AG8,AH8)。
利用鼠标拖动法将它复制粘贴到其他计算区域。
2.4、测点流速
在AJ8单元格按流速仪公式算出非取舍精度流速。
由于随流速的变化,精度要求不同,分步计算:
阶数EJ的计算:
在AK8单元格:
=IF(AJ8>
1,INT(LOG(AJ8)+1),0)
当V<
1.0m/s时:
在AL8单元格:
=IF(AND(MOD(INT(AJ8*100),2)=0,INT(AJ8*1000)-INT(AJ8*100)*10=5,INT(AJ8*1000)=AJ8*1000),TRUNC(AJ8,2),ROUND(AJ8,2))
v>
=1.0m/s:
在AM8单元格写入:
=IF(AND(INT(AJ8/10^(AK8-4))-INT(AJ8/10^(AK8-3))*10=5,MOD(INT(AJ8/10^(AK8-3)),2)=0,INT(AJ8/10^(AK8-4))=AJ8/10^(AK8-4)),INT(AJ8/10^(AK8-3))*10^(AK8-3),INT((AJ8+5*10^(AK8-4))/10^(AK8-3))*10^(AK8-3))
计算结果:
在AN8单元格写入:
=1.0,AL8,AM8)
2.5、垂线间面积计算
在AR9单元格算出非取舍精度数。
在AS9单元格计算阶数EJ:
=IF(AR9>
1,INT(LOG(AR9)+1),0)。
取舍精度由上表知:
面积A>
1.0m2时,同流速V>
1.0m/s计算,将AM8单元格表达式粘贴到AT9,并将AJ8,AK8改为AR9,AS9.
面积A<
1.0m2计算:
同流速V<
1.0m/s时计算,将AL8单元格表达式粘贴到AU9,并将AJ8改为AR9.
在AV9单元格:
=IF(AND(AR9<
=1.0,AR9>
0.1),AT9,AU9)
2.6流量精度取舍及过程举例
在BH9单元格算出非取舍精度流量数,在BI9单元格计算阶数EJ.
在BJ9单元格取舍:
=IF(
(1)AND(
(2)INT(BH9/10^(BI9-Y-1))-(3)INT(BH9/10^(BI9-Y))*10=5(4),(5)MOD(INT(BH9/10^(BI9-Y)),2)=0,(6)INT(BH9/10^(BI9-Y-1))=BH9/10^(BI9-Y-1)),(7)INT(BH9/10^(BI9-Y))*10^(BI9-Y),(8)INT((BH9+5*10^(BI9-Y-1))/10^(BI9-Y))*10^(BH9-Y))
式中,Y为取用精度.由查上表知,Y=3。
举例说明取舍过程.
例1、某非精度取舍流量为5425m3/s。
按要求保留三位有效数字。
EJ=INT(LOG(5425)+1)=4,则,BH9=5425,BI9=4,2式为5425,3式为5420,4式5425-5420=5成立,5式542/2余数为0成立,6式5425=5425成立,因此,1式成立,取值TRUE,计算结果为7式5420m3/s。
例2、某非精度取舍流量数为0.942500014m3/s,则EJ=0,BH9=0.9400014,BI9=0。
2式为9425,3式为9420,4式9425-9420=5成立,5式942/2余数为0成立,但6式9425〈〉9425.00014不成立,1式取值为FALSE,计算结果为8式0.943m3/s。
表达式中,当4、5、6式同时成立时,1式才为TRUE,计算结果为7式,只要有一式不成立,1式为FALSE,计算结果为8式。
2.8、工作簿文件
将计算工具中大断面,水尺零点高程等基础信息写入计算过程页,就成了不同水文站的流量计算工具,存于SHEET1,SHEET2……SHEETn工作表中,并以站名为表名,就成了综合计算工具工作簿文件。
3、结束语
3.1计算工具全由函数、函数嵌套等表达式编写,简明易读。
逻辑函数IF(L,A1,A2),允许7层嵌套,用于水尺零点高程时,可录入7支水尺,如该组水尺很多,可将较多工作部分录入。
3.2使用时,仅需在输出页录入水尺读数,编号,起迄时间,信号数、信号历时等原始信息,表中以彩色底纹标记。
原始信息录完确定后,流量计算瞬间完成。
该工具用于校算石角桥水文站流量46测次、汊河集水文站流量50测次、黄栗树水文站流量44测次、滁县水文站流量66测次、沙河集水文站(南灌渠)流量24测次。
输出的成果表与手工计算表完全一样。
3.3打开工作簿文件后,先另存个文件名,避免改动原文件,可加密码保护。
3.4表中精度取舍计算过程表达式可直接复制用于电子表格中其它各类水文要素计算,如面雨量、水准、水尺测量计算,资料整编手工平行表如日平均水位、流量、含沙量计算等等。
1水位计算
开始读数=B5
终了读数=C5
平均读数=(Y3+Z3)/2
读数处理=IF(MOD((TRUNC(Y3*100)-TRUNC(Y3*10)*10),2)=1,ROUND(Y3,2),TRUNC(Y3,2))
水尺零高=IF(A5="
P8"
"
12.98"
IF(A5="
P7"
13.85"
P6"
14.80"
P5"
15.68"
P10"
11.25"
P9-1"
12.12"
P9"
12.14"
P10-1"
11.23"
))))))))
水位:
=AB3+AC3
2断面参数:
3水深计算:
垂线水位:
=$B$5+$E$5
水深=AB10-AA10
D>
5=IF(MOD(INT(AC10*10),2)=0,INT(AC10*10+0.4)/10,ROUND(AC10,1))
D<
5=AC10
计算结果=IF(AC10>
=5,AD10,AE10)
4测点深计算:
测点深度=D10*E10
5:
=IF(AND(MOD(INT(AG10*10),2)=0,INT(AG10*100)-INT(AG10*10)*10=5,AG10*10=INT(AG10*10)),TRUNC(AG10,1),ROUND(AG10,1))
=IF(AND(MOD(INT(AG10*100),2)=0,INT(AG10*1000)-INT(AG10*100)*10=5,AG10*1000=INT(AG10*1000)),TRUNC(AG10,2),ROUND(AG10,2))
hi计算后:
=IF(AG10>
=5,AH10,AI10)
5测点流速计算
总转数:
=J10
vi:
=IF(J10<
>
0,$D$2*J10/G10+$E$2,0)
ejv:
=IF(AL10>
1,INT(LOG(AL10)+1),0)
V<
1.0:
=IF(AND(MOD(INT(AL10*100),2)=0,INT(AL10*1000)-INT(AL10*100)*10=5,INT(AL10*1000)=AL10*1000),TRUNC(AL10,2),ROUND(AL10,2))
V>
=IF(AND(INT(AL10/10^(AM10-4))-INT(AL10/10^(AM10-3))*10=5,MOD(INT(AL10/10^(AM10-3)),2)=0,INT(AL10/10^(AM10-4))=AL10/10^(AM10-4)),INT(AL10/10^(AM10-3))*10^(AM10-3),INT((AL10+5*10^(AM10-4))/10^(AM10-3))*10^(AM10-3))
v计算后:
=IF(AND(AL10<
=1,AL10>
0.1),AN10,AO10)
6平均水深计算:
hi:
=0.5*(AF8+AF10)
7面积计算:
间距=Z10-Z8
ai=AU9*AV9
ej=IF(AW9>
1,INT(LOG(AW9)+1),0)
a>
=1=IF(AND(INT(AW9/10^(AX9-4))-INT(AW9/10^(AX9-3))*10=5,MOD(INT(AW9/10^(AX9-3)),2)=0,INT(AW9/10^(AX9-4))=AW9/10^(AX9-4)),INT(AW9/10^(AX9-3))*10^(AX9-3),INT((AW9+5*10^(AX9-4))/10^(AX9-3))*10^(AX9-3))
a<
=1=IF(AND(MOD(INT(AW9*100),2)=0,INT(AW9*1000)-INT(AW9*100)*10=5,INT(AW9*1000)=AW9*1000),TRUNC(AW9,2),ROUND(AW9,2))
a计算后=IF(AW9>
1,AY9,AZ9)
8垂线流速计算:
=IF(E10=0,K10*0.8,IF(E10=0.6,K10,"
其它"
))
ejv=IF(BB10>
1,INT(LOG(BB10)+1),0)
(0.1,1.0):
=IF(AND(MOD(INT(BB10*100),2)=0,INT(BB10*1000)-INT(BB10*100)*10=5,INT(BB10*1000)=BB10*1000),TRUNC(BB10,2),ROUND(BB10,2))
<
0.1or>
=IF(AND(INT(BB10/10^(BC10-4))-INT(BB10/10^(BC10-3))*10=5,MOD(INT(BB10/10^(BC10-3)),2)=0,INT(BB10/10^(BC10-4))=BB10/10^(BC10-4)),INT(BB10/10^(BC10-3))*10^(BC10-3),INT((BB10+5*10^(BC10-4))/10^(BC10-3))*10^(BC10-3))
=IF(AND(BB10<
=1,BB10>
0.1),BD10,BE10)
9垂线平均流速计算:
垂线平均:
=0.7*BF10,=0.5*(BF10+BF12)
ejv=IF(BG9>
1,INT(LOG(BG9)+1),0)
=IF(AND(MOD(INT(BG9*100),2)=0,INT(BG9*1000)-INT(BG9*100)*10=5,INT(BG9*1000)=BG9*1000),TRUNC(BG9,2),ROUND(BG9,2))
=IF(AND(INT(BG9/10^(BH9-4))-INT(BG9/10^(BH9-3))*10=5,MOD(INT(BG9/10^(BH9-3)),2)=0,INT(BG9/10^(BH9-4))=BG9/10^(BH9-4)),INT(BG9/10^(BH9-3))*10^(BH9-3),INT((BG9+5*10^(BH9-4))/10^(BH9-3))*10^(BH9-3))
=IF(AND(BG9>
=0.1,BG9<
=1),BI9,BJ9)
10部分流量计算:
qi=BK9*BA9
ejq=IF(BL9>
1,INT(LOG(BL9)+1),0)
q计算后:
=IF(AND(INT(BL9/10^(BM9-4))-INT(BL9/10^(BM9-3))*10=5,MOD(INT(BL9/10^(BM9-3)),2)=0,INT(BL9/10^(BM9-4))=BL9/10^(BM9-4)),INT(BL9/10^(BM9-3))*10^(BM9-3),INT((BL9+5*10^(BM9-4))/10^(BM9-3))*10^(BM9-3))
11统计计算:
最大流速(m/s):
=MAX(K8:
K40)
水面宽(m):
水面宽=C42-C8
ej:
=IF(B49>
1,INT(LOG(B49)+1),0)
调试结果:
=IF(AND(INT(B49/10^(C49-4))-INT(B49/10^(C49-3))*10=5,MOD(INT(B49/10^(C49-3)),2)=0,INT(B49/10^(C49-4))=B49/10^(C49-4)),INT(B49/10^(C49-3))*10^(C49-3),INT((B49+5*10^(C49-4))/10^(C49-3))*10^(C49-3))
最大水深(m):
=MAX(D8:
D42)
断面面积(m2)
面积总数:
=SUM(O9:
O41)
平均水深(m):
=J49/D49
流量(m3/s):
=SUM(R8:
R46)
平均流速(m/s):
=Q49/J49
保护公式
为了防止我们的统计公式不小心被修改,在公式验证无误时,可采用单元格保护功能将其保护。
具体作法是:
选择要输入的区域如:
附表2中的筛选条件区B4:
F4→[格式]→[单元格]→\"
保护\"
卡→去\"
锁定\"
复选框→\"
确定\"
,[工具]
→[保护]
→[保护工作表]
→\"
,注意如果输入\"
口令\"
一定要记住。
由于Excel在缺省情况下,所有单元格均被\"
,所以除筛选条件区外所有单元格均被锁定不可更改数据,从而保护了数据公式的修改。
如需修改公式,可先撤消保护工作表,在修改公式数据,最后别忘了保护。