介绍几个比较实用的excel函数。
sumproduct函数的使用。
今天一会计网友mm请我为她的**做一个公式,自动计算一些数据。用到了sumproduct。
下边将使用方法贴出来共享:
excel的sumproduct函数提供excel数组公式的大多数功能,并且在使用上不复杂。
sumproduct函数可以方便地计算工作表内多列中对应值相乘后的和,其语法为:
sumproduct(array1,array2,array3, …
其中,array1, array2, array3, …为 2 到 30 个数组,其相应元素需要进行相乘并求和。数组参数必须具有相同的维数,否则,函数 sumproduct 将返回错误值 #value!。 该函数将非数值型的数组元素作为 0 处理。
下面通过示例介绍sumproduct函数的基本使用方法。如下图1所示的工作表:
图1其中所定义的名称为:
名称。引用范围。
公司。sheet1!$d$3:$d$17
全部数据。sheet1!$a$2:$e$17
日期。sheet1!$a$3:$a$17
姓名。sheet1!$b$3:$b$17
性别。sheet1!$c$3:$c$17
用工数。sheet1!$e$3:$e$17
1)要计算工作表中姓名是张三且公司为a的用工数统计,则可以使用下面的公式:
sumproduct(0+(姓名="张三"),0+(公司="a"),用工数)
返回结果24。
2)要获取姓名张三出现的次数,则可以使用下面的公式:
sumproduct((姓名="张三")*1)
或=sumproduct(0+(姓名="张三"))
结果为5。3)要获取姓名为张三且公司为a的总数,则可以使用下面的公式:
sumproduct((姓名="张三")*公司="a")*1)
或=sumproduct((姓名="张三")*公司="a"))
结果为4。图2
4)**。在计算工作表中姓名是张三且公司为a的用工数统计时,使用的是公式=sumproduct(0+(姓名="张三"),0+(公司="a"),用工数)。按照常规做法,可以使用公式:
sumproduct(姓名="张三",公司="a",用工数)
但其结果为0,即并不是所想要的正确结果24。
excel在公式中能将以文本表示的数字转换为数字,例如公式:
虽然”3”是文本,但该公式能返回结果15。
excel也能将数字转换为文本,例如:
"no" &1
返回的结果为no1。
excel将逻辑值转换为数值,例如:
0+true返回的结果为1;
1*true返回的结果为1。
已知(或者能够确定)一个数据在某数据区域的具体位置(第几行第几列),要查找并返回这个数据,使用查找函数index。
一、函数index基础。
1.基本功能。
在给定的单元格区域中,返回特定行列交叉处单元格的值或引用。
2.基本格式。
index(数据区域,返回数据的行数,返回数据的列数)
二、函数index应用实例。
1.数据表。
a列 b列 c列 d列。
姓名性别**地区。
姓名1 男 123 河北。
姓名2 女 236 山东。
姓名3 男 523 四川。
姓名4 男 456 北京。
姓名5 女 895 河北。
姓名6 男 698 四川。
姓名7 男 654 济南。
姓名8 男 789 北京。
姓名9 女 466 上海。
示例一。在数据区域a1:d10中返回第5行第3列的数据。
公式:index(a1:d10,5,3)
回车确认后返回值为456
此时index在数据区域a1:d10中返回的是指定行列位置的一个数值。
注意:数据区域a1:d10以单元格a1所在行为第1行,顺序向下数行数;单元格a1所在列为第一列,顺序向右数列数。
数据区域a1:d10第5行第3列即单元格c5。
示例二。计算数据区域a:d中7行3列及以前的**号码个数。
公式:假定**号码是数值数据,则编辑公式为。
count(c2:index(a:d,7,3))
回车确认后返回数值6
此时函数index返回的是一个引用,即单元格c7。
公式实质是。
count(c2:index(a:d,7,3))=count(c2:c7)=6
三、函数index与match的综合应用。
从示例一不难看出,从某数据区域中返回指定行列位置的数据,确定数据位置的行列数是具体的。实际中可能不知道要返回数据的具体位置,只知道要返回数据具有某一数据属性。此时常用函数match来帮助确定返回数据的行列数。
函数match的作用就是返回指定数据在数据列或行中的行或列位置。
函数match的基本格式是:match(查找的数据,数据所在的列或行区域,0)
示例三。在前面的数据表中,查找"姓名5"在什么地区。
思路:首先确定"姓名5"的行位置,公式为 =match("姓名5",a:a,0)
其次是确定"姓名5"行对应的"地区"列数,显然在数据区域a1:d10中是第4列(而对于d列就是第1列)。
公式:方法一。
在数据区域d:d(d列)中返回"姓名5"的地区数据。
index(d:d,match("姓名5",a:a,0),1)
方法二。在数据区域a:d(即a1:d10)中,地区数据是第4列。返回"姓名5"的地区数据行数是match("姓名5",a:a,0),列数是4。
index(a:d,match("姓名5",a:a,0),4)
说明:在具体的统计查询表中,"姓名5"可以用单元格引用,不用直接手工输入具体的姓名数据。
比如查询表。
g列 h列。
姓名地区。姓名5
在h2中输入公式=index(a:d,match(g2,a:a,0),4)确认即可。
四、用index函数动态返回查询数据。
如上数据表假定工作表名称为"数据",另一新工作表名称为"查询"。
要求:根据已经提供的姓名(可能与数据表中的姓名顺序不一致)返回姓名所对应的所有数据。
查询表设置:
a列 b列 c列 d列。
姓名性别**地区。姓名2
在b2中输入公式。
index(数据!$a:$d,match($a2,数据!$a:$a,0),column(b2))
回车确认后,向右复制公式到d2单元格,返回"姓名2"的所有对应数据(从数据表a:d的第2列即b列开始到第4列即d列结束)。
选中b2:d2向下复制公式,返回a2以下后续姓名的所有对应数据。
注意:公式的思路是用match确定姓名在数据表中a列的行数,用函数column确定返回数据在数据表a:d列中的列数(函数column(b2)返回b2的列数是2)。
当公式在跨表引用数据时,应该在数据区域前面指明数据区域所在工作表的名称。
综上所述。函数index在数据区域中返回指定行列位置的数据。
函数index中的第2个和第3个参数可以是具体的数字,也可以用其它适用函数替代。
函数index在确定区域返回数据的行列数,不能超过数据区域的行列数,否则返回错误值#ref!。
一、基本功能
1.函数sumproduct的功能
返回相应的区域或数组乘积的和。
2.基本格式
sumproduct(数据1,数据2,……数据30)
3.示例 数据表
a列 b列 c列 d列 e列
数据1数据2数据3数据4数据5
#n/a 30
7 2 7 9 kl
基本计算 区域计算
要求:计算a、b、c三列对应数据乘积的和。
公式:=sumproduct(a2:a6,b2:b6,c2:c6)
计算方式:=a2*b2*c2+a3*b3*c3+a4*b4*c4+a5*b5*c5+a6*b6*c6
即三个区域a2:a6,b2:b6,c2:c6同行数据积的和。
返回值788。
数组计算 要求:把上面数据表中的三个区域a2:a6,b2:b6,c2:c6数据按一个区域一个数组,计算对应数组积的和。
把a2:a6,b2:b6,c2:c6分别作为一个数组,即
a2:a6表示为数组-
b2:b6表示为数组-
c2:c6表示为数组-
公式: sumproduct(,,788
注意: 数组数据用大括号{}括起来。
行数据之间用分号";"分隔,如果是同一行的数据,用逗号","分隔。
可能出现的错误
编辑公式时,引用的数据区域大小不一致导致计算错误,返回值为#value!。
示例: 在上面的数据表中,计算a列与b列数据区域积的和。
公式: sumproduct(a2:a6,b2:b5)
或 sumproduct(a2:a6,b2:b8)
都会返回错误值#value!。
所以在用sumproduct函数时,引用的数据区域大小要一致。
数据区域中有错误值时,计算出现错误值。
示例: 在上面的数据表中,计算数据区域a2:a6与d2:d6对应积的和。
公式:=sumproduct(a2:a6,d2:d6)
因为d2:d6中有错误值#n/a,所以公式返回值为错误值#n/a。
数据区域引用不能整列引用。
示例: 计算上面数据表中a2:a6和b2:b6区域对应数据积的和,正确公式为
sumproduct(a2:a6,b2:b6)则返回正确的计算值94。如果用公式=sumproduct(a:a,b:b)则返回错误值#num!。
数据区域有文本,计算中系统默认文本值为0。
示例: 在上面数据表中,计算a2:a6和e2:e6区域中对应数据积的和。
公式=sumproduct(a2:a6,e2:e6)返回值是392,其中e5是文本kl,则a5*e5=0。
excel所有excel函数
用途 返回一组数据与其平均值的绝对偏差的平均值,该函数可以评测数据 例如学生的某科考试成绩 的离散度。语法 edev number1,number2,参数 number1 number2 是用来计算绝对偏差平均值的一组参数,其个数可以在1 30个之间。实例 如果a1 79 a2 62 a3 45 a...
EXCEL函数教程 EXCEL日期函数和时间函数大全
显示当前年份函数 year now 显示当前月份函数 month now 显示当前日期函数 day now 显示当前星期函数 text now aaaa 显示当前准确时间 text now hh mm ss 显示当前年月日 today 显示当前年月日和时间 now 使用方法 直接在某单元格输入以上函...
excel函数
一 求字符串中某字符出现的次数 例 求a1单元格中字符 a 出现的次数 len a1 len substitute a1,a 二 如何在不同工作薄之间复制宏 1 打开含有宏的工作薄,点 工具 宏 m 选中你的宏,点 编辑 这样就调出了vb编辑器界面。2 点 文件 导出文件 在 文件名 框中输入一个文...