白爱民
(云南省环境监测中心站,云南昆明650034)
在工业、农业、卫生、环境保护等许多方面,pH都是一个被广泛应用的重要化学指标,它表示出溶液中H+浓度的大小及酸碱性的强弱。求解pH的平均值是实验室数据分析的常规任务之一,通常在EXCEL中来完成。但很多实验室工作人员使用EXCEL仍停留在初级水平,求解pH的平均值时仅会用最简单的分步求解法,求解工作量大,易出错。找出一种简单、直观、方便、易用的求解pH的平均值的方法是很有必要的。
氢离子浓度指数 (hydrogen ion concentration)是指溶液中氢离子的总数和总物质的量的比。它的数值俗称“pH值”,表示溶液酸性或碱性程度的数值,即所含氢离子浓度的常用对数的负值[1]。
如果某溶液所含氢离子的浓度为每升0.00001mol/L,它的氢离子浓度指数就是5,计算方法为-lg[浓度值]。
氢离子浓度指数一般在0~14,当它为7时溶液呈中性,<7时呈酸性,值越小,酸性越强;>7时呈碱性,值越大,碱性越强。
pH 1909年由丹麦生物化学家Soren Peter Lauritz Sorensen提出,是氢离子浓度的意思。
由pH的定义可知,pH是衡量溶液酸碱性的尺度。化学变化以及生产过程都与pH值有关,在工业、农业、医学、环保和科研领域都需要控制溶液的酸碱,这些地方都需要知道溶液的pH。
医学上:人体血液的 pH值通常在7.35~7.45,如果发生波动,就是病理现象。唾液的pH值也被用于判断病情。如夏季蚊虫叮咬会分泌出甲酸 (蚁酸),人感到痒,是因为此时pH低于7显酸性,可采用肥皂水、牙膏来增加pH值使人减轻痛痒感。
化学和化工上:很多化学反应需要在特定的pH下进行,否则得不到所期望的产物。
农业上:很多植物有喜酸性土壤或碱性土壤的习性,如茶的种植。控制土壤的pH可以使种植的植物生长得更好。
环保上:测量降水的pH可知是否有酸雨、空气是否污染及其污染程度。
在进行数据处理时,经常需要求出多个样本pH的平均值,鉴于pH值的特殊性,其平均值的计算不能采用简单的算术平均值方法。下面以酸雨为例来说明pH平均值的计算公式[2]。
(1)先计算各个酸雨监测值的H+浓度
∵pH是H+活度 (浓度)的负对数
∴当pH=a时,H+活度 (浓度)Ci=10–ai
(2)再计算出H+浓度的加权平均值
式中:Vi是第i个样本的采样体积
n为样本数
(3)再将H+浓度的加权平均值计算为pH值
在河流 (湖库)水质监测中,也需要计算pH平均值。其计算方法更为简单,因不考虑溶液的体积,在上述方法中的 (2)中,只须计算出H+浓度的算术平均值,即:
MicroSoft Office EXCEL是广泛使用的数据处理工具之一。Excel内置函数的快捷与方便,强大的内置函数库大大增强了Excel数据计算与分析的能力。通过组合多个内置函数,可满足更为复杂的任务需求。但是,内置函数也不一定总能满足特殊的计算或分析任务,而且,内置函数组合常常很难理解,这时,就可以通过自定义函数来解决问题。
下面用实例来说明计算pH平均值的几种方法。
本例中,欲求2011年某湖库监测点pH平均值,共有6个pH监测值 (见单元格C3至C8)。
(1)先计算各个监测值的H+浓度 (见单元格D3至D8,E3至E8是对应D3至D8的公式);
(2)计算H+浓度的平均值 (见单元格 D9,E9是对应D9的公式);
(3)再将H+浓度平均值计算为pH值 (见单元格D10,E10是对应D10的公式)。
监测数据和各步骤的计算结果见表1。
?
该方法采用组合EXCEL内置函数来实现pH平均值的计算。C20为C14至C19中各pH监测值的平均值,对应的公式在其后。
EXCEL的自定义函数功能是MicroSoft Office先进性的具体体现之一。通过VBA完成自定义函数的编写后,再在EXCEL中使用加载宏,就可像EXCEL的内置函数一样使用自定义函数了。VBA全称是Visual Basic for Application,它是微软最好的通用应用程序脚本编程语言。本例求湖库pH平均值自定义函数的函数名为AverpH(),括号内的参数为拟求pH平均值所选择的数据单元格范围,具体函数代码如下:
?
Function AverpH(pH As Range)As Double
'自定义函数,求选定范围pH值的平均值 (适用于湖库测点)
MyPH=0
MyCount=0
For Each C In pH.Cells
If C<>""Then
If IsNumeric(C)Then
MyPH=10^(-C)+MyPH
MyCount=MyCount+1
End If'isnumeric
End If'""
Next
MyPH=MyPH/MyCount
AverpH=-Log(MyPH)/Log(10)
End Function
使用自定义函数求pH平均值的例子见表3。C34单元格显示的是C33求pH平均值的公式。
求降水pH平均值与求湖库pH平均值不同,函数中增加了降水量的计算,自定义函数名为AverpHA(),其中C24至C26为3次降水pH值,D24至D26为对应的降水量。C28单元格显示的是C27求pH平均值的公式。见表4。
VBA的另一个主要用途是使电子表格的任务自动化。对于需要使用多种不同方法 (或函数)对多个表中的大量数据进行处理时,通过VBA编写程序代码更能体现EXCEL的优越性,当然,VBA编程也可用来只求pH平均值。
?
?
(1)分步计算法是最简单的方法,也是一般工作人员常常采用的方法。但工作量大,要分三个步骤,多个单元格计算,才能获得结果。
(2)组合内置函数法虽然将分步计算法的三个步骤综合在一起,在C20中输入公式后就能获得计算结果,但计算公式编写不易,容易出错,公式冗长繁琐,不便于理解和管理。受使用条件的限制,组合内置函数法不易推广使用。
(3)自定义函数的方法使用最为方便,可像内置函数一样使用,公式简单易记,数据范围可大可小,初学EXCEL的人员使用也不困难。当然,在第一次使用之前,必须输入自定义函数的代码,并正确加载。
(4)VBA编程方法功能最强大。调用编写好的宏程序模块,可自动完成整个电子表格中多个不同内容的计算任务。但是,采用此方法需要具备很好的Visual Basic编程语言的基础,并熟悉EXCEL系统。如果仅仅做单任务计算,如求pH平均值,使用自定义函数更具有优势。
在实验室数据分析中,经常需要求解pH的平均值,求解工作通常在EXCEL中来完成。EXCEL功能非常强大[3],但很多人仅仅停留初级水平,远没有体现出EXCEL的优越性。本文详细描述了4种在Excel中求pH平均值的方法,并对这几种方法进行了比较和分析。自定义函数法最简单、最直观,使用方便,易于推广。掌握自定义函数法的编写与加载,可实现复杂的单任务数据处理与分析,大大提高工作效率。