大家好,这一章给大家分享几组函数嵌套的使用方法,
非常实用!
先看看下面这个表格:
本周参会人员名单,
第一个问题比较简单,如何算出其中某个人本周参会次数?
第二个问题,本周这些参会人员分别都参会了多少次?
譬如下图,我想知道天山童姥本周参会几次,应该如何来写这个函数?
案例1,步骤分解:
可以使用FIND函数来查找条件:天山童姥
在所有参会人员中进行查找:
这是一个数组,
通常我们都是FIND某个条件,然后在某个单元格中去找,
但如果FIND(条件,范围)
这个公式的输出结果就是一个数组:
譬如:
天山童姥出现在周一出现在第五个字开始,
周二出现在第五个字开始,
周三到周六没有发现天山童姥,所以结果为VALUE错误.
周日天山童姥出现在第九个字开始.
总结:
在整个输出结果中,不要管他是从第几个字开始,
但凡输出结果为数字,代表在周几天山童姥存在过.
而VALUE错误则代表天山童姥没有存在于当天的会议.
你可以数一数,总共出现3次数字,那么天山童姥应该本周参与了3次会议.
所以:
在FIND函数的基础之上加上ISMUNBER的判断.
ISNUMBER就是判断是否为数值的判断公式:
把布林逻辑转换成1或者0
如果是TRUE代表1,FALSE代表0
最后对这一组数据进行相加:
案例2,步骤分解:
案例2也是基于案例1的逻辑来的,只是这一次我们需要做混合单元格的去重,
如下图,还是之前的表格,需要算出每一个人参与会议的次数.
难点:B列的参会人员都混合在一些单元格中间,如何能够把人员分割开来,并且如D列一般做到去重.
首先可以使用TEXTJOIN函数把所有的参会人员无论是周几参与的,咱们都来做一个合并:
可能大家觉得不够直观,
我用F9展开公式,你就会发现所有的单元格内容全部逗号隔开并且都放在了一个单元格.
因为所有的内容中间都是逗号分隔的,所以现在可以使用TEXTSPLIT函数,将所有的数据分隔开来摆放在每一个单元格中,并且做纵向摆放:
你可以看看下面的公式:
当然中间会有很多的重复值,使用UNIQUE函数做去重处理:
去重之后,有了姓名条件,那么就可以套用案例1的公式来进行计算了: