Excel有400多个函数,在实际工作中,运用单一函数并不能解决所有的数据处理与分析问题。
1:
括号是函数的一个重要组成部分,一对括号就是一层函数,顺着括号,由外向内一层层剥开,就能看出函数的结构了。
下面就以if函数为例介绍单独if函数的嵌套及if函数与其他函数的嵌套。
if函数的嵌套可以解决年终考核等级的问题,例如,下面这个例子。
这是本月几名员工的业绩,公司规定,超过300000元的为“优秀”,超过250000元的为“良 好”,超过200000元的为“合格”,其他为“不合格”,那该如何计算等级呢?这就需要使用if函数的嵌套了,如下图所示。
也许有人会说函数太长了,看不懂,没关系,把这个函数的格式调一下,如下图所示。
这样就比较好理解了,意思是大于300000元就是“优秀”,大于250000元就是“良好”,大于200000元就是“合格”,剩下的就是“不合格”了。
例如,某公司考核员工业绩,如果3个月中有任意1个月超过30万元,本季度考核就算合格,否则为不合格。那这该怎么做呢?
因为是三选一,所以需要使用到or函数,or函数的基本格式如下图所示。
or函数可以有30个参数,只要有1个为真,整个函数的返回值即为true,如下图所示。
如果公司要求只有每个月都合格,最终才能算合格怎么办呢?这时就要用and函数。and函数的基本格式,如下图所示。
and函数可以有30个参数,当所有参数都为真时,结果为true,如下图所示。
使用if函数时需注意以下几点。
(1)函数看不懂,可以换行理解。
(2)单方向梳理逻辑,思路更清晰。
(3)嵌套可以无限制,但头脑要清醒。
(4)必要时,可以与其他函数配合使用。
2:
现在又有一个问题,看下面的例子,如果想要求出表中“小A”“小C”和“小G”的“员工号” 及“工资”,该怎么办?
有人说,这太简单了,用两个vlookup函数就可以解决,如下图所示。
但能不能用一个函数完成呢?当然可以,不过,需要用到一个新的函数:match函数。
match函数用于查找对象在一组数据中的具体位置,返回一个数值结果,match函数的语法结构如下图所示。
例如,想查找“小A”“小C”和“小G”在表中的第几行,如下图所示。
再如,想查找【员工号】字段和【工资】字段分别在表中的哪一列,如下图所示。
会用match函数了,接下来,就回到开头的那个问题,怎么一次性求出多个列值,先求出一个值,如下图所示。
然后向右拖曳填充柄复制公式,结果如下图所示。
再向下拖曳填充柄复制公式,结果如下图所示。
将vlookup函数和match函数嵌套,可以让vlookup函数返回多列结果。
使用vlookup函数查找匹配,一个前提条件是查找对象必须在匹配范围的首列。如果查找对象不在首列,有以下两种方法。
第一种:设置匹配范围,让查找对象成为首列。
例如,如下图所示,查找对象肯定是“员工号”,那么匹配范围本来应该是A:D列,但是,可以将匹配范围设置为B:D列,也就是不用A列,这样,查找对象“员工号”就在匹配范围的首列了。
但是,如果上面的方法不能用,出现下图所示的情况,应该怎么办?
那就只能是第二种情况了,这时需要使用index函数,index函数的基本格式如下图所示。
index函数的功能是,在给定的区域内返回第几行第几列的值。如下图所示,先求某一列数据中某行的值。
再求某行数据中某列的值,如下图所示。
然后,求一片区域内某行某列的值,如下图所示。