一、常用公式。
术语:参数:指输入给公式的值。
返回值:公式的计算结果。
1、vlookup,hlookup,查找。
比如我们想达到这样一个目的,在单元格a1中输入产品编号,在单元格b1中自动显示产品名称。当然,电脑是不知道根据编号来做出判断的,如果人的记性好,是可以做到的,但是还得输入,是不是很烦,还记得我在excel操作技巧中说的吗,我们就是天生的懒人。幸好有了比尔大哥。
当然,我们可以做到让电脑知道,产品编号与产品名称的对应关系,所以我们要事先输入一个产品编号与产品名称的对应关系,也就是一个表,电脑是不是很厉害,很快它就记住了呢。不过我们不能怕麻烦,当你将此表建好后,你还可以用到其它方面。
建好表(与excel中的表不同,这里表示一组数据)后,假使这个表的区域为g1:h1000,g列为编码,h列为名称。所以,在b1中,我们输入。
=vlookup(a1,g1:h1000,2,true)
这个公式是什么意思,a1,表示我们要查找a1,在**查找呢,在g1:h1000中查找,2,表示我们从哪一列得到结果,就是表g1:h1000中的第2列,所以,意思是说,在g1:
h1000中的g列中查找a1的值,如果找到,将得到本表中的第2列对应的值,如果g101与a1的值相同,将得到h101的值。
另:本公式有四个参数,除第二个参数为一个区域外,其它参数还可以是其它的公式,也叫公式的套嵌,这再其它公式中也一样。第四个参数为true,或是不输入表示精确匹配,为false表示大致匹配,上面的公式也可以写成。
=vlookup(a1,g1:h1000,2,)
第四个参数没有输入,也就是什么都没有(什么都没有与空格,0,等是有很大的区别的)。
大致匹配:例如,a 与 abc或是bac,是大致匹配,"金帝"与"中粮金帝食品(深圳)****"是大致匹配。
如果编码名称对照表大于两列,比如是g1:j1000,如是名称是在i列,那么公式就要写成。
=vlookup(a1,g1:j1000,3,) 或是 =vlookup(a1,g1:i1000,3,)
当然,这是被动获取数据,还可能用于主动获取,即已经有了编码,来查询名称。
2、公式参数的锁定(可能我对这个功能的叫法不规范)
比如上面的vlookup公式,如果我们要输入很多产品编号,都要得到产品名称,我们可以把所有的产品编吗输入,比如在a1:a10中输入了编号,将b1中的填充柄双击,b1:b10就全都填充上公式了(也可以复制过去),还记得在excel操作技巧中介绍过吗?
但是我们会发现一个问题,在b2中公式就不对了,变成了=vlookup(a2,g2:h1001,2,),这显然不行,因为我们的编码对照表是g1:h1000,这样,对照表中的第一条记录就不能被查询到。
在b3中就变成了=vlookup(a3,g3:h1002,2,) b10 中的公式就变成了 = vlookup(a10,g10:h1009,2,),有一个方法可以解决,将b1中的公式写成=vlookup(a2,$g$2:
$h$1001,2,),再填充一次,是不是没问题了?如果你将b1写成=vlookup($a2,$g$2:$h$1001,2,)也行,因为公式在复制(或自己动填充)时,是在同一列中进行的,所以a不管有没有锁定,都是不变的,如果你写成了=vlookup(a$2,$g$2:
$h$1001,2,)或是=vlookup($a$2,$g$2:$h$1001,2,),就会发现,填充或复制后,b1:b10中,所有的公式都是一样的,因为在a2这个参数中,你在2前面加了一下$符号,所以复制时,a2不会对应的变为a3,a4...
2、iserror, 公式的结果是否出错。
还是用第一个来举例,如果你输入的编码在表中用vlookup查不到,就会显示#n/a(或其它错误结果),这是我们就可以把公式写成:
=if(iserror(vlookup($a2,$g$2:$h$1001,2,))vlookup($a2,$g$2:$h$1001,2,))
其中,iserror(vlookup($a2,$g$2:$h$1001,2,))是if公式的第一个参数,表示一个条件,对于vlookup($a2,$g$2:$h$1001,2,),如果查找的结果不存在,那么vlookup最终会得到 #n/a,所以再计算iserror(#n/a),很显然#n/a是一个错误,这句话是对的,所以,iserror(#n/a)=true,所以最终公式就变为了if(true,,vlookup($a2,$g$2:
$h$1001,2,))结果是"什么都没有"、"空"(不同于空格或是0,可能有时会显示为"0"),同样,如果vlookup($a2,$g$2:$h$1001,2,)找到了,没有出错,就变成了if(false,,vlookup($a2,$g$2:$h$1001,2,))vlookup($a2,$g$2:
$h$1001,2,),这样就达到了我们的要求了。
3、sumif,条件求和。
有一个销售表,如果我们要求出某个产品(已知编码)的总销售量,表如下:
a b c d
1 │分店**│ 产品** │ 产品名称 │ 产品销量 │
2 │ a001 │ c001 │ 产品1 │ 10 │
3 │ a001 │ c002 │ 产品2 │ 11 │
4 │ a001 │ c003 │ 产品3 │ 12 │
5 │ a002 │ c001 │ 产品1 │ 10 │
6 │ a001 │ c003 │ 产品3 │ 12 │
7 │ a003 │ c002 │ 产品2 │ 11 │
8 │ a002 │ c002 │ 产品2 │ 11 │
9 │ a003 │ c003 │ 产品3 │ 12 │
10 │ a002 │ c003 │ 产品3 │ 12 │
11 │ a003 │ c001 │ 产品1 │ 10 │
12 │ a002 │ c003 │ 产品3 │ 12 │
13 │ a003 │ c002 │ 产品2 │ 11 │
14 │ a003 │ c003 │ 产品3 │ 12 │
此表中,比如要查c001的销量总计。
x y z1 │产品**│ 产品名称 │销量合计 │
2 │ c001 │ 产品1 │=sumif($a$2:$a$10,$x2,$d$2:$d$10) │
同样,加上$符号,是为了向下复制公式。公式的含义是指,在a2:a10区域中查找与x2匹配的所有的项,再把这些项对应的在d2:
d10区域内的所有对应的数据求和,所以最终结果就是:30.
4、数组公式。
预备知识:数组,比如这是一个一维的数组,共有7个元素,第3个元素的值7。
对于有些公式(并不是所有的),可以接收数组作为参数,比如sum,像sum(1,2,3,4),它的参数就是一个数组:,对于有些公式,不但可以接收数组作为参数,它的计算结果(我们通常叫返回值)也可以是数组,例如if。
所以,我们可以通过将sum和if两个函数组合一起,来得到我们想要的结果。
问题:在sumif公式中,可以按条件求和,但是,如果有多个条件呢,比如,我们要求a1分店的c001产品的销量汇总,用sumif就不行了,但我们可以这样。
=sum(if($a$2:$a$15="a001",if($b$2:$b$15="c001",$d$2:$d$15,0),0))
或 =sum(if(($a$2:$a$15="a001")*b$2:$b$15="c001"),d$2:$d$15,0))
对于第二种形式,是什么意呢,原来,在excle中,true(真)的值是1,false(假)的值是0,所是大于等于1的数,也可以表示为true,小于等于0的数可以表示为false,而且 +,这些运算符号,也可能对数组进行运算,所以,分店**为a001,且产品**为c001这个可以用($a$2:$a$15="a001")*b$2:$b$15="c001")来表示,因为1*1=1,0*0=0,1*0=0,0*1=0,所以,这个乘号就也可以进行bool值(true,false)运算了,即true*true=true,false*false = false,true*false = flase,如果条件不是分店**为a001,且产品**为c001,而是分店**为a001,或产品**为c001,这个条件就可以表示为:
($a$2:$a$15="a001")+b$2:$b$15="c001"),因为true + true = 2 为true,true + flase = 1,为true,flase + false = 0,为false,所以就达到 ,*可以作为逻辑运算符的and,+可以作为or。
x y z1 │分店**│ 产品** │销量合计 │
2 │ a002 │ c001 │=sum(if(($a$2:$a$15=$x2)*(b$2:$b$15=$y2),$d$2:$d$15,0))│
¤¤¤很关键的一点,当此公式输完后,不能直接按回车,要同时按住ctrl+shift,再按回车,这样,数组公式才生效果,对所有的数组公式是一样的。
二、条件格式。
有时候,我们可能要对一些数据突出显示,但这些数据可能是经常变化的,我们不可能每次都去设置一次格式,很烦人,因为我们是懒人嘛。
比如,在上面的销售表中,要把没有小于12的所有单元格都涂成红色,可能d列是由公式生成的,别的地方变化就会影响此列的变化。
首先,我们选择d2:d14(还记不记得在excel操作技巧中讲的),点击菜单:"格式"->条件格式",在对话框中选择条件,第一个下拉框中选择"单元格数值",第二个选小于,在输入文本框中输入12,就是说单元格数值小于12,设好后,点对话框中的"格式"按钮,这样,设置任何格式都可以,这里我们选"图案",选中"红色",按确定,表中小于12的单元格都变红了。
其实这个很难,有时可能要用到相对引用 (就是类似于$b2:b$15这样的),就会很复杂,这里就不讲了,修行还得靠个人。
Excel高级应用
青岛滨海学院教师教案。课题。excel高级应用。需2课时。教学使学生学会在excel电子 中进行 基本操作,格式设目的。要求置,并能进行数据计算,分类汇总,筛选,数据透视等操作教学重点教学难点。函数应用,分类汇总,图表应用,数据透视表应用。数据透视表应用。教学内容与教学过程。一 行 列及单元格的插入...
Excel高级应用
一 选择题 每小题2分,共40分 1 excel生成的文件,其后缀名为。a xls b doc c psd d ai 2 下列单元格地址中属于混合地址。a a 1 b a1 c a 1 d a1 3 excel 中,公式是以开头。abcd 4 一个工作簿默认有个工作表。a 255 b 1 c 2 d...
excel高级应用
通过word软件完成长文档制作与实现 邮件合并 是在通常计算机基础课程学习中没有详细介绍的word高级应用技术。但这两个技术对大家提高文字处理工作效率有极大的帮助。在此,作者将通过两个章节把该技术以及相关知识完整地呈现给大家。在日常使用word办公的过程中,我们常常需要制作长文档。比如营销报告 毕业...