Excel的工程函数与统计函数类似,都是属于比较专业范畴的函数。因此,在文中笔者也仅介绍几种比较常用的工程函数,更多的请参考Excel帮助和专业的书籍。顾名思义,工程工作表函数就是用于工程分析的函数。Excel中一共提供了近40个工程函数。工程工作表函数由"分析工具库"提供。如果您找不到此类函数的话,可能需要安装"分析工具库"。
一、"分析工具库"的安装
如图所示
图1
(2)如果"加载宏"对话框中没有"分析工具库",请单击"浏览"按钮,定位到"分析工具库"加载宏文件"Analys32.xll"所在的驱动器和文件夹(通常位于"Microsoft Office\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)用以测试两个数值是否相等的函数DELTA
DELTA用以测试两个数值是否相等。如果 number1=number2,则返回 1,否则返回 0。可用此函数筛选一组数据,例如,通过对几个 DELTA 函数求和,可以计算相等数据对的数目。该函数也称为 Kronecker Delta 函数。
语法形式为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
=GESTEP(C4,90)
4、度量衡转换函数CONVERT
CONVERT函数可以将数字从一个度量系统转换到另一个度量系统中。
语法形式为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" | 热力学卡 | "c" |
U(原子质量单位) | "u" | IT 卡 | "cal" |
盎司(常衡制) | "ozm" | 电子伏 | "eV" |
距离 | From_unit 或 to_unit | 马力-小时 | "HPh" |
米 | "m" | 瓦特-小时 | "Wh" |
法定哩 | "mi" | 英尺磅 | "flb" |
海里 | "Nmi" | BTU | "BTU" |
英寸 | "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_unit | U.S. 品脱 | "pt" |
牛顿 | "N" | U.K. 品脱 | "uk_pt" |
达因 | "dyn" | 夸脱 | "qt" |
磅力 | "lbf" | 加仑 | "gal" |
升 | "l" |
5、与积分运算有关的函数ERF与ERFC
ERF为返回误差函数在上下限之间的积分。
其语法形式为:ERF(lower_limit,upper_limit) 其中,Lower_limit为ERF函数的积分下限。Upper_limit为ERF函数的积分上限。如果省略,默认为零。
ERFC为返回从 x 到 ∞(无穷)积分的 ERF 函数的余误差函数。其语法形式为:
ERFC(x) 其中X为ERF函数积分的下限。
6、与复数运算有关的函数
还记得中学时代学过的复数吗?是不是还记得当时求复数的模等计算的繁复?Excel的工程函数中提供的多种与复数运算有关的函数,你可以用它来验证自己的运算结果的正确性啊。关于有哪些函数与复数运算有关,可以察看所附的表格。这里将以简单的事例说明函数的使用方法。注意到在工程函数中有一些前缀为im的函数了吗?这些就是与复数运算有关的函数。
举例,已知复数5+12i,请用函数求解该复数的共轭复数、实系数、虚系数、模等。
图4
函数名 | 函数说明 | 语法形式 |
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 文本格式表示的复数的平方根。 | IMSQRT(inumber) |
IMSUB | 返回以 x+yi 或 x+yj 文本格式表示的两个复数的差。 | IMSUB(inumber1,inumber2) |
IMSUM | 返回以 x+yi 或 x+yj 文本格式表示的两个或多个复数的和。 | IMSUM(inumber1,inumber2,...) |
OCT2BIN | 将八进制数转换为二进制数。 | OCT2BIN(number,places) |
OCT2DEC | 将八进制数转换为十进制数。 | OCT2DEC(number) |
OCT2HEX | 将八进制数转换为十六进制数。 | OCT2HEX(number,places) |