自从用了这些方法,排列组合计算再也不出错了!

送人玫瑰,手有余香,请将文章分享给更多朋友

动手操作是熟练掌握EXCEL的最快捷途径!

数学中有个知识点叫“排列组合”,是说从一组候选清单中任意取出几个组合在一起。如果不考虑顺序,那就是组合;如果考虑顺序,那就是排列。

现实生活中我们经常会遇到排列组合的问题。下面就是这样一个例子。

我们根据不同的人员组合算出合计值。怎样求合计值呢?手工一个一个相加吗?不,不,让我来教教大家怎样又快又准的计算和值吧!

01

SUBSTITUTE函数经典用法

利用SUBSTITUTE函数经典用法,我们可以很轻松地求得结果。

在单元格E2中输入公式“=SUM(SUMIF(A:A,TRIM(MID(SUBSTITUTE(D2,"/",REPT(" ",99)),ROW($1:$16)*99-98,99)),B:B))”,三键回车并向下拖曳即可。

思路:

  • 利用SUBSTITUTE函数将单元格D2中的“/”用长度为99的空格替换掉。这正是SUBSTITUTE函数经典用法的核心技巧

  • 利用MID函数从替换后的字符串的第1、100、199..位开始,提取长度为99的字符串

  • 利用TRIM函数取出多余的空格,得到的结果是{"张辽";"孙悟空";"贾宝玉";"";"";"";"";"";"";"";"";"";"";"";"";""}

  • 利用SUMIF函数配合SUM函数最终求出结果

这里要注意一下,由于SUMIF函数返回的内存数组是多维引用,这里必须要在配合SUM函数才能求得正确的结果。

02

FIND函数法

FIND函数非常简单,但在实际应用中却能发挥巨大的作用。

在单元格E2中输入公式“=SUM(ISNUMBER(FIND($A$2:$A$11,D2))*$B$2:$B$11)”,三键回车并向下拖曳即可。

思路:

  • 利用FIND函数在单元格D2中查找单元格区域$A$2:$A$11中的数据。如果能查找到,则会返回一个数字,否则就返回错误值

  • 利用ISNUMBER函数将数值转化为TRUE,错误值转化为FALSE

  • 最后利用SUM函数求得最终的结果

这里的核心技巧是:在哪里找,找什么!

03

SUBSTITUTE函数+LEN函数法

SUBSTITUTE函数配合LEN函数也是常用的函数组合之一。

在单元格E2中输入“=SUM((LEN(SUBSTITUTE(D2,$A$2:$A$11,""))<LEN(D2))*($B$2:$B$11))”,三键回车并向下拖曳即可。

思路:

  • 利用SUBSTITUTE函数将单元格D2中包含单元格区域$A$2:$A$11中的数据用空格替换掉

  • 用替换后的字符串长度和替换前的长度相比,若长度变短了,说明包含了目标字符,该步骤返回一组由TRUE和FALSE组成的内存数组

  • 最后利用SUM函数求得最终结果

04

COUNTIF函数法

通过COUNTIF函数模糊查找的方法,我们也可以实现目的。

在单元格E2中输入“=SUM(COUNTIF(D2,"*"&$A$2:$A$11&"*")*$B$2:$B$11)”,三键回车并向下拖曳即可。

思路:

和前面几个的思路大同小异。利用COUNTIF函数在单元格D2中查找单元格区域$A$2:$A$11中的数据。只不过,我们在单元格区域$A$2:$A$11的数据前后都添加了通配符,实现了模糊查找的功能。

这个题目虽然对数据进行了处理,但是在实际工作中是有应用场景的。比如,在销售中我们要考察那些产品的组合能够达到最大化的销售额;那些运输线路的运费成本最低等等。

方法教给大家,需要朋友们在实际工作中灵活运用!

-END-

长按下方二维码关注EXCEL应用之家

面对EXCEL操作问题时不再迷茫无助

我就知道你“在看”

戳原文,更有料!免费模板文档!

推荐阅读
(0)

相关推荐