如何在excel中已知一堆数字,然后筛选出某几个数字加起来的和在一固定区间并显示筛选出来数字的所有组合? 255

比如有1到20这20个数字,我现在取其中4个数字,这4个数的和在10-25之间,如何显示所有组合,求大神解答!... 比如有1到20这20个数字,我现在取其中4个数字,这4个数的和在10-25之间,如何显示所有组合,求大神解答! 展开
 我来答
莫浅北
2020-04-27 · 超过46用户采纳过TA的回答
知道小有建树答主
回答量:102
采纳率:76%
帮助的人:34.6万
展开全部

像这样的排列组合问题,可以通过构建辅助列解决,在前4列列出所有数字,第5列新建辅助列,条件为=IF(AND(SUM(A1:D1)>10,SUM(A1:D1)<25),A1&","&B1&","&C1&","&D1,"")。

如下图:

图中为模拟数据,与原题不一样

但这种方式需要20^4行数据,不是很实用。

使用vba可以很快地解决这个问题:

Sub 排列组合()

Dim b, c, d, e, f As Integer

b = 2 '从B2开始生成

For c = 1 To 20

    For d = 1 To 20

        For e = 1 To 20

            For f = 1 To 20

                    sumthis = c+d+e+f

                     if sumthis>10 and sumthis <25 then

                    Range("b" & b) = c & "," & d & "," & e & "," & f

                    b = b + 1 '跳转到下一单元格

                Next

           Next

        Next

    Next

Next

End Sub

复制以上代码,打开excel文件,按alt+F11键,在上方菜单中选择插入模块,粘贴该代码,按F5运行即可。

追问
是否可以加下好友,具体问问?我想做一个班级成绩的统计表,能筛选分析全体同学几个学科成绩总分那种。比如我们班有1-35号同学,数学、语文成绩各不相同,我想每五个同学为一组,使每组同学的总成绩都在一个特定区间,并显示所有组合,这样每个组都比较均匀不会有偏颇。感谢!
追答
直接私新我吧
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式