表格中在一个单元格内有多个条件,如何快速求和No282

职场计划有古哥 2024-01-29 06:06:27

某张表格中,需要求和的条件(工号)都在一个单元格内,现在需要对这个单元格内的所有工号的数量进行汇总。汇总的数据在表1,表1中有工号对应的数量。

需求:设计一个公式,实现快速求和单元格内多条件的汇总数量

最终结果如下图1所示:

图 1

需求分析

先观察表1和表2的数据类型。表1是一个标准的一维数据,工号一列并且无重复项目,数量一列,表示每名工号的对应的数量。

表2是实际上也是一个一维数据,只是不太“标准”,因为工号这一列有的单元格包含多个工号,并且中间用逗号“,”分隔开了,这样就无法直接用SUMIFS求和了。所以古老师一般不推荐这样的表格设计思路。

表2要汇总表1对应的工号数量,难点就是分开单元格内的工号。只要分开了工号就好办了,分开工号后可以直接用查找与引用函数XLOOKUP查找工号对应的数量,并用SUM汇总求和。

而分开单元格内的内容最佳函数就是TEXTSPLIT,知道这个函数后问题就变得相当简单了。

分拆单元格

表2的条件是用逗号分隔开不同的工号,所以只需要录入函数:

F3=TEXTSPLIT(E3,","),双击向下填充,就可以把工号分开了。

函数释义:

把单元格E3内的内容按逗号按列分拆到不同的单元格。

效果如下图2所示:

图 2

工号匹配数量

表1中的工号是没有重复项的,所以这里可以用上面分拆后的结果作为查找的条件,去表1中通过工号引用数量。录入函数:

F3=XLOOKUP(TEXTSPLIT(E3,","),B:B,C:C)

函数释义:

查找条件工号,查找区域B列(工号),返回区域C列(数量)

效果如下图3所示:

图 3

求和数量

上面的公式通过引用把表1中的工单对应数量匹配过来了,最后一步只需要在嵌套上SUM函数就可以求和了,录入函数:

F3=SUM(XLOOKUP(TEXTSPLIT(E3,","),B:B,C:C))

公式释义:

对返回的结果求和

效果如下图4所示:

图 4

方法2,FIND法

上面的是通过分本分拆的方法,还有一个方法是通过FIND来实现的。

录入函数:

=SUMPRODUCT(ISNUMBER(FIND($B$3:$B$12,E3))*$C$3:$C$12)

函数释义:

FIND查找表1中的工号在对应表2的工号的位置,并返回对应的数量,用ISNUMBER判断,如果是数字就返回TRUE,否则就返回FLASE,再乘以表1中的C列数量,以这个数组区域为条件通过SUMPRODUCT返回它们的乘积之和,并向下填充。

效果如下图5所示:

图 5

上面的方法思路利用了FIND查找位置,通过逻辑值乘数量的乘积之和,间接的也实现了单元格内多条件求和的效果。

和古哥一起学习PMC生产计划运营,一辈子够不够?

关注古哥计划

0 阅读:2
职场计划有古哥

职场计划有古哥

感谢大家的关注