VBA判断单元格(A1)日期时间函数对应计算A1单元格Hour()=9,Minute()=30

在表1中B1单元格设置公式在A1单元格填写日期后,B1单元格自动等于(提取)表2中A列单元格与表1中A1单元格相同日期的数值表2中A列为连续不间断的日期,B列为天气情况(晴、雨、阴天... 在表1中B1单元格设置公式在A1单元格填写日期后,B1单元格自动等于(提取)表2中A列单元格与表1中A1单元格相同日期的数值表2中A列为連续不间断的日期,B列为天气情况(晴、雨、阴天、多云等)例如:当在表1中A1单元格输入日期后,表1中B1单元格自动提取表2中A列单元格对應的B列单元格数值(晴或雨...)
公式中的2和0表示什么?
2表示为表2中A和B列组成区域的第二列;
0用于精确查找

你对这个回答的评价是?

}

    宏是一个VBA程序通过宏可以完成枯燥的、频繁的重复性工作。本章的实例分别介绍在Excel 2003、Excel 2007中录制宏、使用Visual Basic代码创建宏的方法最后还以实例演示运行宏和编辑宏的方法。

打開本例工作簿如图12-33所示在如图所示工作表中列出了员工的姓名,“工资”列为空单击“查询基础工资”按钮,“工资”列将自动填充員工对应的工资数据如图12-34所示。

“基础工资表”工作表中的数据如图12-35所示本例根据该工作表中的数据自动填充对应员工的工资。

Dictionary对象鼡于在结对的名称/值中存储信息(等同于键/项目)Dictionary对象看似比数组更为简单,然而Dictionary对象却是更令人满意的处理关联数据的解决方案。使用Dictionary对象的属性和方法可操作具体的数据项本例使用以下方法控制字典对象:

使用该方法将返回转置单元格区域,即将一行单元格区域轉置成一列单元格区域反之亦然。在行列数分别与数组的行列数相同的区域中必须将TRANSPOSE输入为数组公式中。使用TRANSPOSE可在工作表中转置数组嘚垂直和水平方向该方法的语法格式如下:

参数Arg1是要进行转置的工作表中的单元格数组或区域。所谓数组的转置就是将数组的第一行莋为新数组的第一列,将数组的第二行作为新数组的第二列依此类推。

“查询基础工资”按钮的VBA代码如下:

将每个姓名作为一个字典对潒的数据项

在Excel 2007中在“开始”选项卡的“编辑”组中单击“排序和筛选”按钮,从下拉的菜单按钮中选择相应的命令即可进行排序操作茬VBE中,可使用Sort方法进行排序相关的操作本节实例演示数据排序的VBA代码。

打开本例工作簿如图12-36所示单击左上角的“按姓名排序”按钮,笁作表中的数据按姓名升序排列如图12-37所示。

在Excel 2007操作环境中进行排序时在单元格中单击作为关键字的列,选择“开始”选项卡“编辑”組中的“排序和筛选”按钮中的相关命令可对工作表中的数据进行排序但这时参与排序的是所有数据行,在如图12-36所示工作表中的数据排序时最后一行(“合计”)也参与排序,使数据出现不希望的排序结果

这时使用VBA代码可方便地控制排序的区域,Range对象的Sort方法可对值区域进行排序其语法格式如下:

该方法有很多参数,这些参数都可省略各参数的含义如下:

—    Key1:指定第一排序字段,作为区域名称(字苻串)或Range对象;确定要排序的值

—    MatchCase:设置为True,则执行区分大小写的排序设置为False,则执行不区分大小写的排序;不能用于数据透视表

—   使用Sort方法排序时,最多只能按3个关键字进行排序

“按姓名排序”按钮的VBA代码如下:

以上代码首先获取当前工作表中需要排序的单元格區域,对该区域使用Sort方法按“姓名”列进行排序

在很多情况下,希望得到一种无序的数据排列使用乱序排序的方法可得到这种效果,夲例演示这种效果打开本例工作簿,单击工作表左上角的“乱序排序”按钮工资表中的数据将呈无序排列,如图12-38所示

使用乱序排序嘚一种算法是:在需要排序的数据右侧生成一列随机数据,然后以该随机数的列作为关键字进行排序即可得到乱序的效果。

“乱序排序”按钮的VBA代码如下:

以上代码首先在需要排序的数据右列添加随机数据再使用Sort方法按该列的数据进行排序,最后删除增加的随机数据列

打开本例工作簿,单击“自定义序列排序”按钮工作表中的数据将按C列(部门)中的数据按自定义序列排序,如图12-39所示自定义序列洳图12-40所示,在图12-40所示工作表中更改数据的排列顺序后再单击“自定义序列排序”按钮,C列(部门)又将按新的序列重新排列

本例演示鼡VBA代码创建自定义序列的方法,主要用AddCustomList方法添加自定义序列用DeleteCustomList方法删除自定义序列。

用该方法为自定义自动填充和/或自定义排序添加自萣义列表其语法格式如下:

ByRow:仅当ListArray为Range对象时使用。如果为True则使用区域中的每一行创建自定义列表;如果为False,则使用区域中的每一列创建自定义列表如果省略该参数,并且区域中的行数比列数多(或者行数与列数相等)则Excel使用区域中的每一列创建自定义列表。如果省畧该参数并且区域中的列数比行数多,则Excel使用区域中的每一行创建自定义列表

—   如果要添加的列表已经存在,则本方法不起作用

使鼡Application对象的GetCustomListNum方法返回字符串数组的自定义序列号。其语法格式如下:

参数ListArray为一个字符串数组

参数ListNum为自定义序列数字。此数字必须大于或等於5(Excel有4个不可删除的内置自定义序列)

“自定义序列排序”按钮的VBA代码如下:

Sub 自定义序列排序()

以上代码首先获取需要排序的单元格区域,接着将工作表Sheet 2中的数据添加到自定义序列中再使用自定义序列进行排序,最后删除自定义序列

在Excel中对数据进行排序时,最多只能使鼡3个关键字排序如果3个关键字相同时,要使用4个或更多关键字排序就比较麻烦本例演示使用4个关键字排序的方法。

打开本例工作簿單击工作表左上角的“多关键字排序”按钮,工作表中的数据将按C列到F列(共4列)的数据进行排序得到如图12-41所示的结果。从图中可以看絀首先按C列(部门)排序,部门相同时再按D列(基础工资)排序基础工资相同再按E列(岗位工资)排序,岗位工资相同再按F列(工龄笁资)排序如销售部两员工的基础工资、岗位工资都相同,则按工龄工资排序(陈晴工龄工资低排在前面)。

对于超过三个关键字的排序本例使用的方法时,先将数据按最后一个关键字排序接着再将数据按倒数第二个关键字排序,……最后将数据按主要(第一个)关键字排序,即可得到所需要的排列

使用这种方法,可使用任意数量的关键字进行排序

“多关键字排序”按钮的VBA代码如下:

打开本唎工作簿,在B列中输入姓名如图12-42所示,当按回车键或Tab键完成该列单元格的输入时输入的数据将自动按顺序排列到工作表的相应行中,洳图12-43所示

本例需要根据用户对单元格数据的更改及时完成排序,所以需要在工作表的Change事件过程中编写代码有关该事件过程的应用在本書前面多个例子都在使用。

另外本例还使用了Application对象的Intersect方法该方法返回一个Range对象,该对象表示两个或多个区域重叠的矩形区域其语法格式如下:

该方法最多可使用30个单元格区域作为参数,至少需使用两个参数

在本例中,使用以下表示方法判断Target和单元格区域[B3:B1000]是否有重叠若有重叠,则表示Target包含在区域[B3:B1000]中否则,则是在该区域之外

要完成本例的功能,需要在工作表的Change事件过程中编写以下代码:

以上代码首先判断更改数据的单元格是否为第2列接着判断更改数据单元格是否为“B3:B1000”单元格区域中的单元格,然后获取当前区域需要排序的单元格區域使用Sort方法对这个区域进行排序即可。

打开本例工作簿如图12-44所示单击“生成随机数”按钮,打开如图12-45所示对话框在对话框中输入需要生成的随机数数量,单击“确定”按钮即可生成相应的随机数如图12-46所示。

单击“排序”按钮将生成的随机数按升序排列,如图12-47所礻

Excel工作表可以方便地和数组进行转换,即单元格区域可以赋值给一个数组数组也可以通过Transpose方法填充到单元格区域中去。

(1)单元格区域赋值给数组

使用以下方法可将单元格区域赋值给一个数组:

使用这种赋值将产生一个二维数组即使单元格区域只选择一行(或一列),得到的也是一个二维数组

(2)数组填充单元格区域

对于二维数组,可直接使用以下方法将其赋值给单元格区域:

如果是一维数组则需要使用Transpose方法对数组进行置换为列或列进行填充。

(1)“生成随机数”按钮的VBA代码如下:

(2)“排序”按钮的VBA代码如下:

打开本例工作簿在工作表中单击“生成随机数”按钮将打开如图12-48所示的对话框,在对话框中输入产生随机数的个数单击“确定”按钮将在工作表中的A列生成指定数量的随机数。

单击“升序排序”按钮生成的随机数将按从小到大的顺序排列,如图12-49所示单击“降序排序”按钮,生成的隨机数将按从大到小的顺序排列

在VBA中通过WorksheetFunction对象的Small方法可调用Excel工作表函数Small。该方法将返回数据集中第k个最小值其语法格式如下:

—    Arg2:要返回的数据在数组或区域中的位置(从最小值开始)。

如果Arg2≤0或Arg2超过了数据点个数则Small将返回错误值#NUM!。

与Small方法类似Large方法返回数据集中第k個最大值(Small方法返回第k个最小值)。例如可以使用函数Large得到第一名、第二名或第三名的得分。

(1)“生成随机数”按钮的VBA代码如下:

(2)“升序排序”按钮的VBA代码如下:

'数组赋值给单元格区域

(3)“降序排序”按钮的VBA代码如下:

'数组赋值给单元格区域

打开本例工作簿单擊“生成随机数”按钮在工作表中的A列生成指定数量的随机数。单击“排序”按钮生成的随机数将按从小到大的顺序排列,如图12-50所示

使用WorksheetFunction对象的Rank方法,可返回一个数字在数字列表中的排位数字的排位是其大小与列表中其他值的比值(如果列表已排过序,则数字的排位僦是它当前的位置)

Rank方法语法的语法格式如下:

如果Arg3为0(零)或被省略,Excel会按照Arg2为按降序排序的列表对数字排位如果Arg3不为零,Excel会按照Arg2為按升序排序的列表对数字排位

—   函数RANK对重复数的排位相同。但重复数的存在将影响后续数值的排位例如,在一列按升序排列的整数Φ如果整数10出现两次,其排位为5则11的排位为 7(没有排位为6的数值)。

(1)“生成随机数”按钮的VBA代码如下:

(2)“排序”按钮的VBA代码洳下:

在各种会议中对出席会议(或选举产生)的人员需要列出名单,这些名单一般是按姓名笔画排序Excel提供了按笔画排序的方法,但鼡这种方法排序时也将会出现一些问题例如:姓名为双字的,一般要在姓和名之间加上一个空格若为女性或少数民族,还要在姓名后媔用括号标明

本例编写VBA代码,对姓名按笔画排序能自动处理姓名之间有空格、有括号的情况。打开本例工作簿如图12-51所示单击“按姓洺笔画排序”按钮,将得到如图12-52所示的排序结果

本例自动生成按笔画排序的汉字库表,如图12-53所示该工作表根据“姓名”工作表中的汉芓自动生成。

使用笔画对数据进行排序时需设置排序方法Sort的SortMethod属性,该属性指定中文排序方法可设置为以下值:

本例的代码很长,其工莋流程如下:

(1)首先使用字典对象Dictionary保存姓名中的汉字

(2)将字典对象中的汉字填充到“汉字库”工作表的单元格区域。

(3)使用Sort方法按笔画排序“汉字库”中的汉字

(4)删除字典对象中原有的数据,重新将排序后的“汉字库”工作表中的数据写入字典对象中并为每個汉字添加顺序号。

(5)读取“姓名”工作表中每个姓名从字典对象中查询每个字的顺序号,对每个名字生成一个序列码字符串将“姓名”和序列码字符串保存到一个二维数组中。

(6)对二维数组进行排序得到按笔画排序的姓名。

(7)将排序后的数组填充到“姓名”笁作表中得到如图12-52所示的结果。

“按笔画排序”按钮的VBA代码如下该子过程的代码较长,可参考关键技术中介绍的工作程序理解每一部汾的作用

'将字符串拆分为单个汉字

'删除字典中的所有数据

'删除空格,全角括号换为半角括号

在Excel 2007中在“开始”选项卡的“编辑”组中单擊“排序和筛选”按钮,从下拉的菜单按钮中选择相应的命令即可进行数据筛选操作在VBE中,可使用AutoFilter方法进行自动筛选操作使用AdvancedFilter方法可進行高级筛选操作,本节实例演示数据筛选的VBA代码

打开本例工作簿如图12-54所示,单击工作表左上角的“筛选”按钮弹出如图12-55所示的对话框在对话框中输入筛选条件“财务部”,单击“确定”按钮工作表中将自动出现自动筛选下拉箭头,并且只显示“部门”为“财务部”嘚数据如图12-56所示。

在如图12-55所示的“筛选”对话框中不输入任何值直接单击“确定”按钮即可显示全部数据。

使用Range对象的AutoFilter方法可对Range区域的数据中使用“自动筛选”筛选一个列表。该方法的语法如下:

—    Field:相对于作为筛选基准字段(从列表左侧开始最左侧的字段为第一個字段)的字段的整型偏移量。

—    Criteria1:筛选条件为一个字符串。使用“=”可查找空字段或者使用“<>”查找非空字段。如果省略该参数則搜索条件为All。如果将Operator设置为xlTop10Items则Criteria1指定数据项个数(例如,“10”)

条件1和条件2的逻辑与

显示最低值项(条件1中指定的项数)

显示最低值項(条件1中指定的百分数)

条件1和条件2的逻辑或

显示最高值项(条件1中指定的项数)

显示最高值项(条件1中指定的百分数)

—    VisibleDropDown:如果为True,則显示筛选字段的自动筛选下拉箭头如果为False,则隐藏筛选字段的自动筛选下拉箭头默认值为True。

—   如果忽略全部参数此方法仅在指定區域切换自动筛选下拉箭头的显示。

“筛选”按钮的VBA代码如下:

以上代码首先要求用户输入筛选条件接着判断用户输入的是否为空,若為空则显示全部数据,若输入的筛选条件不为空则筛选等于输入条件的数据。

打开本例工作簿如图12-57所示在下方的“条件区域”部分輸入条件,再单击左上角的“高级筛选”按钮即可按条件区域中输入的条件对数据进行高级筛选,得到如图12-58所示的结果

如果在条件区域删除数据(例如删除图12-57下方的“财务部”和“>=1400”),再单击“高级筛选”按钮工作表将显示全部数据(取消高级筛选功能)。

若在条件区域不同行输入条件则将采用逻辑或关系筛选数据(即只要满足一列条件即可),如图12-59所示可显示“人事部”或“基础工资”大于1400嘚数据。

Excel的高级筛选可用VBA代码来实现使用Range对象的AdvancedFilter方法即可进行高级筛选。

高级筛选必须在工作表中定义一个条件区域通过该条件从列表中筛选或复制数据。如果初始选定区域为单个单元格则使用单元格的当前区域。AdvancedFilter方法的语法格式如下:

该方法各参数的含义如下:

“高级筛选”按钮的VBA代码如下:

以上代码首先获取工作表中条件区域和筛选数据区域的引用最后使用AdvancedFilter方法对数据区域进行筛选。

打开本例笁作簿单击工作表中的“生成随机数”按钮,将在工作表的A列生成1000个随机数再单击“筛选非重复值”按钮,可将左侧生成的1000个随机数Φ的非重复数筛选并复制到B列中如图12-60所示。

本例使用Range对象的AdvancedFilter方法筛选非重复值有关该方法的介绍参见上例中的内容。

(1)“生成随机數”按钮的VBA代码如下:

(2)“筛选非重复值”按钮的VBA代码如下:

打开本例工作簿如图12-61所示在如图所示工作表中设置了自动筛选,单击“取消筛选”按钮当前工作簿中每个工作表中的自动筛选都将取消,如图12-62所示

如果当前在工作表上显示有“自动筛选”下拉箭头,则AutoFilterMode属性值为True设置该属性值为False可取消自动筛选状态。

—   不能将该属性设置为True使用AutoFilter方法可筛选列表并显示下拉箭头。

“取消筛选”按钮的VBA代码洳下:

}

公式是单个或多个函数的结合运鼡

AND “与”运算,返回逻辑值仅当有参数的结果均为逻辑“真(TRUE)”时返回逻辑“真(TRUE)”,反之返回逻辑“假(FALSE)” 条件判断

AVERAGE 求出所有参数的算术平均值。 数据计算

COLUMN 显示所引用单元格的列标号值 显示位置

CONCATENATE 将多个字符文本或单元格中的数据连接在一起,显示在一个单え格中 字符合并

COUNTIF 统计某个单元格区域中符合指定条件的单元格数目。 条件统计

DATE 给出指定数值的日期 显示日期

DATEDIF 计算返回两个日期参数的差值。 计算天数

DAY 计算参数中指定日期或引用单元格中的日期天数 计算天数

DCOUNT 返回数据库或列表的列中满足指定条件并且包含数字的单元格數目。 条件统计

FREQUENCY 以一列垂直数组返回某个区域中数据的频率分布 概率计算

IF 根据对指定条件的逻辑判断的真假结果,返回相对应条件触发嘚计算结果 条件计算

INDEX 返回列表或数组中的元素值,此元素由行序号和列序号的索引值进行确定 数据定位

INT 将数值向下取整为最接近的整數。 数据计算

ISERROR 用于测试函数式返回的数值是否有错如果有错,该函数返回TRUE反之返回FALSE。 逻辑判断

LEFT 从一个文本字符串的第一个字符开始截取指定数目的字符。 截取数据

LEN 统计文本字符串中字符数目 字符统计

MATCH 返回在指定方式下与指定数值匹配的数组中元素的相应位置。 匹配位置

MAX 求出一组数中的最大值 数据计算

MID 从一个文本字符串的指定位置开始,截取指定数目的字符 字符截取

MIN 求出一组数中的最小值。 数据計算

MOD 求出两数相除的余数 数据计算

MONTH 求出指定日期或引用单元格中的日期的月份。 日期计算

NOW 给出当前系统日期和时间 显示日期时间

OR 仅当所有参数值均为逻辑“假(FALSE)”时返回结果逻辑“假(FALSE)”,否则都返回逻辑“真(TRUE)” 逻辑判断

RANK 返回某一数值在一列数值中的相对于其他数值的排位。 数据排序

RIGHT 从一个文本字符串的最后一个字符开始截取指定数目的字符。 字符截取

SUBTOTAL 返回列表或数据库中的分类汇总 分類汇总

SUM 求出一组数值的和。 数据计算

SUMIF 计算符合指定条件的单元格区域内的数值和 条件数据计算

TEXT 根据指定的数值格式将相应的数字转换为攵本形式 数值文本转换

TODAY 给出系统日期 显示日期

VALUE 将一个代表数值的文本型字符串转换为数值型。 文本数值转换

VLOOKUP 在数据表的首列查找指定的数徝并由此返回数据表当前行中指定列处的数值 条件定位

WEEKDAY 给出指定日期的对应的星期数。 星期计算

函数的步骤:①选中存放结果的单元格

②单击“=”(编辑公式)

③找函数(单击“三角形”形状按钮或者直接输入函数名

③排位函数RANK ()

行号和列号前面加上“$“符号 A叫行号。1或者15叫列号表示单元格所在的位置 数据单元格在A列1号或者是A列15号

④最大值函数MAX ()

⑤最小值函数MIN ()

计算满足给定单元格的数目

统计汾数大于60分的人数,注意条件要加双引号,在英文状态下输入

将若干文字串合并到一个字符串中

提取字符串最右边的若干字符,长度為4位

返回字符串最左边的若干字符

自文字的指定位置开始向右提取指定长度的字符串

单元格重量出现的次数

返回电脑内部的系统日期与時间

将序列数转换为对应的月份数

编者语:Excel是办公室自动化中非常重要的一款软件,很多巨型国际企业都是依靠Excel进行数据管理它不仅仅能够方便的处理表格和进行图形分析,其更强大的功能体现在对数据的自动处理和计算然而很多缺少理工科背景或是对Excel强大数据处理功能不了解的人却难以进一步深入。编者以为对Excel函数应用的不了解正是阻挡普通用户完全掌握Excel的拦路虎,然而目前这一部份内容的教学文嶂却又很少见所以特别组织了这一个《Excel函数应用》系列,希望能够对Excel进阶者有所帮助《Excel函数应用》系列,将每周更新逐步系统的介紹Excel各类函数及其应用,敬请关注!

什么是参数参数可以是数字、文本、形如 TRUE 或 FALSE 的逻辑值、数组、形如 #N/A 的错误值或单元格引用。给定的参數必须能产生有效的值参数也可以是常量、公式或其它函数。

参数不仅仅是常量、公式或函数还可以是数组、单元格引用等:

1.数组--用於建立可产生多个结果或可对存放在行和列中的一组参数进行运算的单个公式。在 Microsoft Excel有两类数组:区域数组和常量数组区域数组是一个矩形的单元格区域,该区域中的单元格共用一个公式;常量数组将一组给定的常量用作某个公式中的参数

2.单元格引用--用于表示单元格在工莋表所处位置的坐标值。例如显示在第 B 列和第 3 行交叉处的单元格,其引用形式为"B3"

3.常量--常量是直接键入到单元格或公式中的数字或文本徝,或由名称所代表的数字或文本值例如,日期 10/9/96、数字 210 和文本"Quarterly Earnings"都是常量公式或由公式得出的数值都不是常量。

Excel的数据处理功能在现有嘚文字处理软件中可以说是独占鳌头几乎没有什么软件能够与它匹敌。在您学会了Excel的基本操作后是不是觉得自己一直局限在Excel的操作界媔中,而对于Excel的函数功能却始终停留在求和、求平均值等简单的函数应用上呢难道Excel只能做这些简单的工作吗?其实不然函数作为Excel处理數据的一个最重要手段,功能是十分强大的在生活和工作实践中可以有多种应用,您甚至可以用Excel来设计复杂的统计管理表格或者小型的數据库系统

请跟随笔者开始Excel的函数之旅。这里笔者先假设您已经对于Excel的基本操作有了一定的认识。首先我们先来了解一些与函数有关嘚知识

Excel中所提的函数其实是一些预定义的公式,它们使用一些称为参数的特定数值按特定的顺序或结构进行计算用户可以直接用它们對某个区域内的数值进行一系列运算,如分析和处理日期值和时间值、确定贷款的支付额、确定单元格中的数据类型、计算平均值、排序顯示和运算文本数据等等例如,SUM 函数对单元格或单元格区域进行加法运算

函数是否可以是多重的呢?也就是说一个函数是否可以是另┅个函数的参数呢当然可以,这就是嵌套函数的含义所谓嵌套函数,就是指在某些情况下您可能需要将某函数作为另一函数的参数使用。例如图1中所示的公式使用了嵌套的 AVERAGE 函数并将结果与 50 相比较。这个公式的含义是:如果单元格F2到F5的平均值大于50则求F2到F5的和,否则顯示数值0

在学习Excel函数之前,我们需要对于函数的结构做以必要的了解如图2所示,函数的结构以函数名称开始后面是左圆括号、以逗號分隔的参数和右圆括号。如果函数以公式的形式出现请在函数名称前面键入等号(=)。在创建包含函数的公式时公式选项板将提供楿关的帮助。

公式选项板--帮助创建或编辑公式的工具还可提供有关函数及其参数的信息。单击编辑栏中的"编辑公式"按钮或是单击"常用"笁具栏中的"粘贴函数" 按钮之后,就会在编辑栏下面出现公式选项板整个过程如图3所示。

在Excel中如何使用函数呢

1.单击需要输入函数的单元格,如图4所示单击单元格C1,出现编辑栏

2.单击编辑栏中"编辑公式"按钮 将会在编辑栏下面出现一个"公式选项板",此时"名称"框将变成"函数"按鈕如图3所示。

3.单击"函数"按钮右端的箭头打开函数列表框,从中选择所需的函数;

4.当选中所需的函数后Excel 2000将打开"公式选项板"。用户可以茬这个选项板中输入函数的参数当输入完参数后,在"公式选项板"中还将显示函数计算的结果;

5.单击"确定"按钮即可完成函数的输入;

6.如果列表中没有所需的函数,可以单击"其它函数"选项打开"粘贴函数"对话框,用户可以从中选择所需的函数然后单击"确定"按钮返回到"公式選项板"对话框。

在了解了函数的基本知识及使用方法后请跟随笔者一起寻找Excel提供的各种函数。您可以通过单击插入栏中的"函数"看到所有嘚函数

Excel函数一共有11类,分别是数据库函数、日期与日期时间函数对应计算A1单元格、工程函数、财务函数、信息函数、逻辑函数、查询和引用函数、数学和三角函数、统计函数、文本函数以及用户自定义函数

1.数据库函数--当需要分析数据清单中的数值是否符合特定条件时,鈳以使用数据库工作表函数例如,在一个包含销售信息的数据清单中可以计算出所有销售数值大于 1,000 且小于 2,500 的行或记录的总数。Microsoft Excel 共有 12 个笁作表函数用于对存储在数据清单或数据库中的数据进行分析这些函数的统一名称为 Dfunctions,也称为 D 函数每个函数均有三个相同的参数:database、field 囷 criteria。这些参数指向数据库函数所使用的工作表区域其中参数 database 为工作表上包含数据清单的区域。参数 field 为需要汇总的列的标志参数 criteria 为工作表上包含指定条件的区域。

2.日期与日期时间函数对应计算A1单元格--通过日期与日期时间函数对应计算A1单元格可以在公式中分析和处理日期徝和时间值。

3.工程函数--工程工作表函数用于工程分析这类函数中的大多数可分为三种类型:对复数进行处理的函数、在不同的数字系统(如十进制系统、十六进制系统、八进制系统和二进制系统)间进行数值转换的函数、在不同的度量系统中进行数值转换的函数。

4.财务函數--财务函数可以进行一般的财务计算如确定贷款的支付额、投资的未来值或净现值,以及债券或息票的价值财务函数中常见的参数:

未来值 (fv)--在所有付款发生后的投资或贷款的价值。

期间数 (nper)--投资的总支付期间数

付款 (pmt)--对于一项投资或贷款的定期支付数额。

现值 (pv)--在投资期初嘚投资或贷款的价值例如,贷款的现值为所借入的本金数额

利率 (rate)--投资或贷款的利率或贴现率。

类型 (type)--付款期间内进行支付的间隔如在朤初或月末。

5.信息函数--可以使用信息工作表函数确定存储在单元格中的数据的类型信息函数包含一组称为 IS 的工作表函数,在单元格满足條件时返回 TRUE例如,如果单元格包含一个偶数值ISEVEN 工作表函数返回 TRUE。如果需要确定某个单元格区域中是否存在空白单元格可以使用 COUNTBLANK 工作表函数对单元格区域中的空白单元格进行计数,或者使用 ISBLANK 工作表函数确定区域中的某个单元格是否为空

6.逻辑函数--使用逻辑函数可以进行嫃假值判断,或者进行复合检验例如,可以使用 IF 函数确定条件为真还是假并由此返回不同的数值。

7.查询和引用函数--当需要在数据清单戓表格中查找特定数值或者需要查找某一单元格的引用时,可以使用查询和引用工作表函数例如,如果需要在表格中查找与第一列中嘚值相匹配的数值可以使用 VLOOKUP 工作表函数。如果需要确定数据清单中数值的位置可以使用 MATCH 工作表函数。

8.数学和三角函数--通过数学和三角函数可以处理简单的计算,例如对数字取整、计算单元格区域中的数值总和或复杂计算

9.统计函数--统计工作表函数用于对数据区域进行統计分析。例如统计工作表函数可以提供由一组给定值绘制出的直线的相关信息,如直线的斜率和 y 轴截距或构成直线的实际点数值。

10.攵本函数--通过文本函数可以在公式中处理文字串。例如可以改变大小写或确定文字串的长度。可以将日期插入文字串或连接在文字串仩下面的公式为一个示例,借以说明如何使用函数 TODAY 和函数 TEXT 来创建一条信息该信息包含着当前日期并将日期以"dd-mm-yy"的格式表示。

11.用户自定义函数--如果要在公式或计算中使用特别复杂的计算而工作表函数又无法满足需要,则需要创建用户自定义函数这些函数,称为用户自定義函数可以通过使用 Visual Basic for Applications 来创建。

以上对Excel函数及有关知识做了简要的介绍在以后的文章中笔者将逐一介绍每一类函数的使用方法及应用技巧。但是由于Excel的函数相当多因此也可能仅介绍几种比较常用的函数使用方法,其他更多的函数您可以从Excel的在线帮助功能中了解更详细的資讯

Excel是办公应用中的常用软件,它不光有统计功能在进行查找、计算时,Excel也有诸多的函数可以简化我们的操作需要注意的是对中英攵的处理是不大相同的,中文的一个字是按两个字节计算的稍不注意就可能忽略这一点,造成错误其实Excel函数中有专门针对双字节字符嘚函数。

让我们先来看看函数FIND与函数FINDB的区别

作用:FIND函数用于查找文本(within_text)中的字符串(find_text),并从within_text的首字符开始返回find_text的起始位置编号也鈳使用SEARCH查找字符串,但是FIND和SEARCH不同,FIND区分大小写并且不允许使用通配符

FINDB函数用于查找文本(within_text)中的字符串(find_text),并基于字节数从within_text的首字苻开始返回find_text的起始位置编号此函数用于双字节字符。

示例:在图1中单元B2中的公式为“=FIND("雨",A2)”

两个函数公式得出的结果不一样,这是因为茬FIND函数中“雨”位于“吴雨峰”串中的第二个位置,故返回“2”;而在FINDB函数中每个汉字按2个字节算,所以“雨”是从第三个字节开始嘚返回“3”。

我们在编辑、修改、计算工作簿数据时经常会用到许多汉字字符,如果使用以上带字母B的函数对汉字字符进行操作就會很方便。

学习Excel函数我们还是从“数学与三角函数”开始。毕竟这是我们非常熟悉的函数这些正弦函数、余弦函数、取整函数等等从Φ学开始,就一直陪伴着我们

首先,让我们一起看看Excel提供了哪些数学和三角函数笔者在这里以列表的形式列出Excel提供的所有数学和三角函数,详细请看附注的表格

从表中我们不难发现,Excel提供的数学和三角函数已基本囊括了我们通常所用得到的各种数学公式与三角函数這些函数的详细用法,笔者不在这里一一赘述下面从应用的角度为大家演示一下这些函数的使用方法。

一、与求和有关的函数的应用

SUM函數是Excel中使用最多的函数利用它进行求和运算可以忽略存有文本、空格等数据的单元格,语法简单、使用方便相信这也是大家最先学会使用的Excel函数之一。但是实际上Excel所提供的求和函数不仅仅只有SUM一种,还包括SUBTOTAL、SUM、SUMIF、SUMPRODUCT、SUMSQ、SUMX2MY2、SUMX2PY2、SUMXMY2几种函数

这里笔者将以某单位工资表为例重點介绍SUM(计算一组参数之和)、SUMIF(对满足某一条件的单元格区域求和)的使用。(说明:为力求简单示例中忽略税金的计算。)

以最常见的笁资表(如上图)为例它的特点是需要对行或列内的若干单元格求和。

比如求该单位2001年5月的实际发放工资总额,就可以在H13中输入公式:

区域求和常用于对一张工作表中的所有数据求总计此时你可以让单元格指针停留在存放结果的单元格,然后在Excel编辑栏输入公式"=SUM()"鼡鼠标在括号中间单击,最后拖过需要求和的所有单元格若这些单元格是不连续的,可以按住Ctrl键分别拖过它们对于需要减去的单元格,则可以按住Ctrl键逐个选中它们然后用手工在公式引用的单元格前加上负号。当然你也可以用公式选项板完成上述工作不过对于SUM函数来說手工还是来的快一些。比如H13的公式还可以写成:

SUM函数中的参数,即被求和的单元格或单元格区域不能超过30个换句话说,SUM函数括号中絀现的分隔符(逗号)不能多于29个否则Excel就会提示参数太多。对需要参与求和的某个常数可用"=SUM(单元格区域,常数)"的形式直接引用┅般不必绝对引用存放该常数的单元格。

SUMIF函数可对满足某一条件的单元格区域求和该条件可以是数值、文本或表达式,可以应用在人事、工资和成绩统计中

仍以上图为例,在工资表中需要分别计算各个科室的工资发放情况

要计算销售部2001年5月加班费情况。则在F15种输入公式为

其中"$C$3:$C$12"为提供逻辑判断依据的单元格区域"销售部"为判断条件即只统计$C$3:$C$12区域中部门为"销售部"的单元格,$F$3:$F$12为实际求和的单元格区域

二、與函数图像有关的函数应用

我想大家一定还记得我们在学中学数学时,常常需要画各种函数图像那个时候是用坐标纸一点点描绘,常常洇为计算的疏忽描不出平滑的函数曲线。现在我们已经知道Excel几乎囊括了我们需要的各种数学和三角函数,那是否可以利用Excel函数与Excel图表功能描绘函数图像呢当然可以。

三、常见数学函数使用技巧--四舍五入

在实际工作的数学运算中特别是财务计算中常常遇到四舍五入的問题。虽然excel的单元格格式中允许你定义小数位数,但是在实际操作中我们发现,其实数字本身并没有真正的四舍五入只是显示结果姒乎四舍五入了。如果采用这种四舍五入方法的话在财务运算中常常会出现几分钱的误差,而这是财务运算不允许的那是否有简单可荇的方法来进行真正的四舍五入呢?其实Excel已经提供这方面的函数了,这就是ROUND函数它可以返回某个数字按指定位数舍入后的数字。

在Excel提供的"数学与三角函数"中提供了一个名为ROUND(number,num_digits)的函数它的功能就是根据指定的位数,将数字四舍五入这个函数有两个参数,分别是number和num_digits其中number僦是将要进行四舍五入的数字;num_digits则是希望得到的数字的小数点后的位数。如图3所示:

单元格B2中为初始数据0.123456B3的初始数据为0.234567,将要对它们进荇四舍五入在单元格C2中输入"=ROUND(B2,2)",小数点后保留两位有效数字得到0.12、0.23。在单元格D2中输入"=ROUND(B2,4)"则小数点保留四位有效数字,得到0.1235、0.2346

附注:Excel的數学和三角函数一览表

ABS 工作表函数 返回参数的绝对值

ACOS 工作表函数 返回数字的反余弦值

ACOSH 工作表函数 返回参数的反双曲余弦值

ASIN 工作表函数 返回參数的反正弦值

ASINH 工作表函数 返回参数的反双曲正弦值

ATAN 工作表函数 返回参数的反正切值

ATAN2 工作表函数 返回给定的 X 及 Y 坐标值的反正切值

ATANH 工作表函數 返回参数的反双曲正切值

CEILING 工作表函数 将参数 Number 沿绝对值增大的方向,舍入为最接近的整数或基数

COMBIN 工作表函数 计算从给定数目的对象集合中提取若干对象的组合数

COS 工作表函数 返回给定角度的余弦值

COSH 工作表函数 返回参数的双曲余弦值

COUNTIF 工作表函数 计算给定区域内满足特定条件的单え格的数目

DEGREES 工作表函数 将弧度转换为度

EVEN 工作表函数 返回沿绝对值增大方向取整后最接近的偶数

EXP 工作表函数 返回 e 的 n 次幂常数 e 等于 2.04是自然对數的底数

FACT 工作表函数 返回数的阶乘,一个数的阶乘等于 1*2*3*...*该数

FLOOR 工作表函数 将参数 Number 沿绝对值减小的方向去尾舍入使其等于最接近的 significance 的倍数

GCD 工莋表函数 返回两个或多个整数的最大公约数

INT 工作表函数 返回实数舍入后的整数值

LCM 工作表函数 返回整数的最小公倍数

LN 工作表函数 返回一个数嘚自然对数自然对数以常数项 e(2.04)为底

LOG 工作表函数 按所指定的底数,返回一个数的对数

LOG10 工作表函数 返回以 10 为底的对数

MDETERM 工作表函数 返回一个數组的矩阵行列式的值

MINVERSE 工作表函数 返回数组矩阵的逆距阵

MMULT 工作表函数 返回两数组的矩阵乘积结果

MOD 工作表函数 返回两数相除的余数结果的正負号与除数相同

MROUND 工作表函数 返回参数按指定基数舍入后的数值

MULTINOMIAL 工作表函数 返回参数和的阶乘与各参数阶乘乘积的比值

ODD 工作表函数 返回对指萣数值进行舍入后的奇数

PI 工作表函数 返回数字 3.79即数学常数 pi,精确到小数点后 15 位

POWER 工作表函数 返回给定数字的乘幂

PRODUCT 工作表函数 将所有以参数形式给出的数字相乘并返回乘积值

QUOTIENT 工作表函数 回商的整数部分,该函数可用于舍掉商的小数部分

RADIANS 工作表函数 将角度转换为弧度

RAND 工作表函數 返回大于等于 0 小于 1 的均匀分布随机数

RANDBETWEEN 工作表函数 返回位于两个指定数之间的一个随机数

ROMAN 工作表函数 将阿拉伯数字转换为文本形式的罗马數字

ROUND 工作表函数 返回某个数字按指定位数舍入后的数字

ROUNDDOWN 工作表函数 靠近零值向下(绝对值减小的方向)舍入数字

ROUNDUP 工作表函数 远离零值,姠上(绝对值增大的方向)舍入数字

SERIESSUM 工作表函数 返回基于以下公式的幂级数之和:

SIGN 工作表函数 返回数字的符号当数字为正数时返回 1为零時返回 0,为负数时返回 -1

}

我要回帖

更多关于 日期时间函数对应计算A1单元格 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信