Excel函数应用之工程函数(周国彬2001年07月04日10:03)编者语:Excel是办公室自动化中非常重要的一款软件,很多巨型国际企业都是依靠Excel进行数据管理。它不仅仅能够方便的处理表格和进行图形分析,其更强大的功能体现在对数据的自动处理和计算,然而很多缺少理工科背景或是对Excel强大数据处理功能不了解的人却难以进一步深入。编者以为,对Excel函数应用的不了解正是阻挡普通用户完全掌握Excel的拦路虎,然而目前这一部份内容的教学文章却又很少见,所以特别组织了这一个《Excel函数应用》系列,希望能够对Excel进阶者有所帮助。《Excel函数应用》系列,将每周更新,逐步系统的介绍Excel各类函数及其应用,敬请关注!Excel的工程函数与统计函数类似,都是属于比较专业范畴的函数。因此,在文中笔者也仅介绍几种比较常用的工程函数,更多的请参考Excel帮助和专业的书籍。顾名思义,工程工作表函数就是用于工程分析的函数。Excel中一共提供了近40个工程函数。工程工作表函数由分析工具库提供。如果您找不到此类函数的话,可能需要安装分析工具库。一、分析工具库的安装如图所示图1(1)在工具菜单中,单击加载宏命令。(2)如果加载宏对话框中没有分析工具库,请单击浏览按钮,定位到分析工具库加载宏文件Analys32.xll所在的驱动器和文件夹(通常位于MicrosoftOffice\Office\Library\Analysis文件夹中);如果没有找到该文件,应运行安装程序。(3)选中分析工具库复选框。二、工程函数的分类在Excel帮助系统中将工程函数大体可分为三种类型,即:(1)对复数进行处理的函数(2)在不同的数字系统(如十进制系统、十六进制系统、八进制系统和二进制系统)间进行数值转换的函数(3)在不同的度量系统中进行数值转换的函数在文中为了对函数的解释更清晰,笔者把工程函数分为如下的六种类型,即:(1)贝赛尔(Bessel)函数(2)在不同的数字系统间进行数值转换的函数(3)用于筛选数据的函数(4)度量衡转换函数(5)与积分运算有关的函数(6)对复数进行处理的函数下面逐一的对于这些工程函数进行介绍。1、贝赛尔(Bessel)函数贝赛尔(Bessel)函数是特殊函数中应用最广泛的一种函数,在理论物理研究、应用数学、大气科学以及无线电等工程领域都有广泛的应用。在Excel中一共提供了四个函数,即:BESSELI、BESSELJ、BESSELK、BESSELY。语法形式为:函数(x,n)其中,X为参数值,N为函数的阶数。如果n非整数,则截尾取整。需说明的是,如果x为非数值型,则贝赛尔(Bessel)函数返回错误值#VALUE!。如果n为非数值型,则贝赛尔(Bessel)函数返回错误值#VALUE!。如果n<0,则贝赛尔(Bessel)函数返回错误值#NUM!。2、在不同的数字系统间进行数值转换的函数Excel工程函数中提供二进制、八进制、十进制与十六进制之间的数值转换函数。这类工程函数名称非常容易记忆,只要记住二进制为BIN,八进制为OCT,十进制为DEC,十六进制为HEX。再记住函数名称中间有个数字2就可以容易的记住这些数值转换函数了。比如,如果需要将二进制数转换为十进制,应用的函数为前面BIN,中间加个2,后面为DEC,合起来这个函数就是BIN2DEC。简单列表为:图2此类数值转换函数的语法形式也很容易记忆。比如,将不同进制的数值转为十进制的语法形式为:函数(number),其中Number为待转换的某种进制数。又如,将不同进制转换为其他进制的数值的语法形式为:函数(number,places)其中Number为待转换的数。Places为所要使用的字符数。当需要在返回的数值前置零时places尤其有用。3、用于筛选数据的函数DELTA与GESTEP(1)用以测试两个数值是否相等的函数DELTADELTA用以测试两个数值是否相等。如果number1=number2,则返回1,否则返回0。可用此函数筛选一组数据,例如,通过对几个DELTA函数求和,可以计算相等数据对的数目。该函数也称为KroneckerDelta函数。语法形式为DELTA(number1,number2)其中Number1为第一个参数,Number2为第二个参数。如果省略,假设Number2值为零。如果number1或者number2为非数值型,则函数DELTA返回错误值#VALUE!。(2)可筛选数据的函数GESTEP使用GESTEP函数可筛选数据。如果Number大于等于step,返回1,否则返回0。例如,通过计算多个函数GESTEP的返回值,可以检测出数据集中超过某个临界值的数据个数。语法形式为:GESTEP(number,step)其中Number为待测试的数值。Step称阀值。如果省略step,则函数GESTEP假设其为零。需注意的是,如果任一参数非数值,则函数GESTEP返回错误值#VALUE!(3)以考试成绩统计为例说明函数的用法例:某院校举行数学模拟考试,正在进行成绩排定。提出的评定方案为求出成绩超过90分的考生人数有哪些人。在这里我们采用GEStep函数来完成统计,首先会为每位考生的成绩做标记。超过90分的标记为1,否则为0,然后对所有考生的标记进行汇总,即可求出有多少人超过90分。图3以1号Annie的成绩为例,成绩为98分,超90分。具体公式为:=GESTEP(C4,90)4、度量衡转换函数CONVERTCONVERT函数可以将数字从一个度量系统转换到另一个度量系统中。语法形式为CONVERT(number,from_unit,to_unit)其中Number为以from_units为单位的需要进行转换的数值。From_unit为数值number的单位。To_unit为结果的单位。函数CONVERT中from_unit和to_unit的参数接受的附表的文本值。重量和质量From_unit或to_unit能量From_unit或to_unit克g焦耳J斯勒格sg尔格e磅(常衡制)lbm热力学卡cU(原子质量单位)uIT卡cal盎司(常衡制)ozm电子伏eV距离From_unit或to_unit马力-小时HPh米m瓦特-小时Wh法定哩mi英尺磅flb海里NmiBTUBTU英寸in功率From_unit或to_unit英尺ft马力HP码`瓦特W埃ang磁From_unit或to_unit皮卡(1/72英寸)Pica特斯拉T时间From_unit或to_unit高斯ga年yr温度From_unit或to_unit日day摄氏度C小时hr华氏度F分钟mn开尔文度K秒sec液体度量From_unit或to_unit压强From_unit或to_unit茶匙tsp帕斯卡Pa汤匙tbs大气压atm液量盎司oz毫米汞柱mmHg杯cup力From_unit或to_unitU.S.品脱pt牛顿NU.K.品脱uk_pt达因dyn夸脱qt磅力lbf加仑gal升l5、与积分运算有关的函数ERF与ERFCERF为返回误差函数在上下限之间的积分。其语法形式为:ERF(lower_limit,upper_limit)其中,Lower_limit为ERF函数的积分下限。Upper_limit为ERF函数的积分上限。如果省略,默认为零。ERFC为返回从x到∞(无穷)积分的ERF函数的余误差函数。其语法形式为:ERFC(x)其中X为ERF函数积分的下限。6、与复数运算有关的函数还记得中学时代学过的复数吗?是不是还记得当时求复数的模等计算的繁复?Excel的工程函数中提供的多种与复数运算有关的函数,你可以用它来验证自己的运算结果的正确性啊。关于有哪些函数与复数运算有关,可以察看所附的表格。这里将以简单的事例说明函数的使用方法。注意到在工程函数中有一些前缀为im的函数了吗?这些就是与复数运算有关的函数。举例,已知复数5+12i,请用函数求解该复数的共轭复数、实系数、虚系数、模等。图4附表:Excel的工程函数函数名函数说明语法形式BESSELI返回修正Bessel函数值,它与用纯虚数参数运算时的Bessel函数值相等。BESSELI(x,n)BESSELJ返回Bessel函数值。BESSELJ(x,n)BESSELK返回修正Bessel函数值,它与用纯虚数参数运算时的Bessel函数值相等。BESSELK(x,n)BESSELY返回Bessel函数值,也称为Weber函数或Neumann函数。BESSELY(x,n)BIN2DEC将二进制数转换为十进制数。BIN2DEC(number)BIN2HEX将二进制数转换为十六进制数。BIN2HEX(number,places)BIN2OCT将二进制数转换为八进制数。BIN2OCT(number,places)COMPLEX将实系数及虚系数转换为x+yi或x+yj形式的复数。COMPLEX(real_num,i_num,suffix)CONVERT将数字从一个度量系统转换到另一个度量系统中。CONVERT(number,from_unit,to_unit)DEC2BIN将十进制数转换为二进制数。DEC2BIN(number,places)DEC2HEX将十进制数转换为十六进制数。DEC2HEX(number,places)DEC2OCT将十进制数转换为八进制数。DEC2OCT(number,places)DELTA测试两个数值是否相等。如果number1=number2,则返回1,否则返回0。DELTA(number1,number2)ERF返回误差函数在上下限之间的积分。ERF(lower_limit,upper_limit)ERFC返回从x到∞(无穷)积分的ERF函数的余误差函数ERFC(x)GESTEP如果Number大于等于step,返回1,否则返回0。使用该函数可筛选数据。GESTEP(number,step)HEX2BIN将十六进制数转换为二进制数。HEX2BIN(number,places)HEX2DEC将十六进制数转换为十进制数。HEX2DEC(number)HEX2OCT将十六进制数转换为八进制数。HEX2OCT(number,places)IMABS返回以x+yi或x+yj文本格式表示的复数的绝对值(模)。IMABS(inumber)IMAGINARY返回以x+yi或x+yj文本格式表示的复数的虚系数。IMAGINARY(inumber)IMARGUMENT返回以弧度表示的角IMARGUMENT(inumber)IMCONJUGATE返回以x+yi或x+yj文本格式表示的复数的共轭复数。IMCONJUGATE(inumber)IMCOS返回以x+yi或x+yj文本格式表示的复数的余弦。IMCOS(inumber)IMDIV返回以x+yi或x+yj文本格式表示的两个复数的商。IMDIV(inumber1,inumber2)IMEXP返回以x+yi或x+yj文本格式表示的复数的指数。IMEXP(inumber)IMLN返回以x+yi或x+yj文本格式表示的复数的自然对数。IMLN(inumber)IMLOG10返回以x+yi或x+yj文本格式表示的复数的常用对数(以10为底数)。IMLOG10(inumber)IMLOG2返回以x+yi或x+yj文本格式表示的复数的以2为底数的对数。IMLOG2(inumber)IMPOWER返回以x+yi或x+yj文本格式表示的复数的n次幂。IMPOWER(inumber,number)IMPRODUCT返回以x+yi或x+yj文本格式表示的2至29个复数的乘积。IMPRODUCT(inumber1,inumber2,...)IMREAL返回以x+yi或x+yj文本格式表示的复数的实系数。IMREAL(inumber)IMSIN返回以x+yi或x+yj文本格式表示的复数的正弦值。IMSIN(inumber)IMSQRT返回以x+yi或x+yj文本格式表示的复数的平方根。IMS