如何利用Excel计算有多少种组合?
上期文章给大家推荐了关于函数公式的三个高级的用法,分别是查找出现频率最高,最接近的数据以及定位字符串中出现的第一个汉字的位置。为了提高大家对公式与函数的理解能力与逻辑能力,今天小必老师给大家再次介绍一种计算给定的内容可以组成多少个组合。
如下图所示,是两种材料的明细,这两种材料两两之间是可以相互混合并制作出另外一种材料。要求:全部列出两列材料可以组合的明细。
对于上面的问题,解决方法其实很简单。关键问题是对这个问题的逻辑进行分析。首先我们从原料A入手,题目说每种原料与辅料都是可以进行合成的,那么原料A可以对应3种辅料,这就是解题的关键,然后以此类推。
在D2单元格中输入公式:
=INDEX($A$2:$A$11,CEILING(ROW($A1)/3,1))
按Enter键后向下填充至错误出现为些。也可以使用IFERROR函数屏蔽错误,直到空白出现为止。
解释:CEILING函数是将参数向上舍入至指定基数的倍数,而这里使用了ROW函数生成了序列再除以3,指定的基数为1,那么只能舍入至1的倍数;然后再自用INDEX函数对1的倍数的对应的数据进行查找。这样就可以每三行生成一个1的位数,即1,2,3,所以就完成了查找。
在E2单元格中输入公式:
=OFFSET($B$1,MOD(ROW($A1)-1,3)+1,0)
按Enter键后向下填充至错误出现为些。也可以使用IFERROR函数屏蔽错误,直到空白出现为止。
解释:MOD函数是取余函数,这里将A1产生序列再减去1与3来取余数作为向下偏移的量,向右偏移为0.这里也可以使用公式:
=INDEX($B$2:$B$4,MOD(ROW(IF(D2="","",A1))-1,3)+1)
这里的公式是依托D列的公式来存在的。
在F2单元格中输入公式:=D7&"-"&E7
按Enter键后向下填充至相应的位置即可。