excel任意数求和

来源:百度知道 编辑:UC知道 时间:2024/06/17 10:07:38
在线等2小时内做出追加100分
442.41、
359.6、
462.27、
535.82、
264.53、
423.19、
603.62、
404.19、
321.91、
365.6、
480.07、
615.62、
335.87、
320.02、
430.41、
398.39、
472.99、
524.45、
388.59、
352.6、
385.32、
353.44、
498.7、
171.3、
483.07、
638.83、
556.77、
262.91、
355.6、
362.99、
640.83、
687.43、
411.78、
395.59、
370.99、
368.4、
365.19、
544.77、
578.89、
417.78、
301.42、
1123.87、
283.2、
568.37、
305.47、
348.6、
408.7、
566.59、
464.92、
335.45、
310.87、
470.07、
362.1、
456.27、
337.45、
404.19、
581.89、
440.05、
381.59、
464.27、
462.27、
465.27、
861.42、
607.62、
369.19、
372.19、
524.45、
387.39、
443.3、
337.64、
569.09、
305.47、
502.13、
556.57、
299.92、
417.78、
35

第1,2,49,63,71,73个数,即
442.41+359.6+464.92+861.42+569.09+502.13=3199.57
我不是用公式做的,是用VBA做的,VBA可以的话,你可以HI我,这93个数据保存在sheet2的A1到A93,这里是代码
Sub aaa()
For a = 1 To 88
For b = a + 1 To 89
For c = b + 1 To 90
For d = c + 1 To 91
For e = d + 1 To 92
For f = e + 1 To 93
If Sheet2.Cells(a, 1) + Sheet2.Cells(b, 1) + Sheet2.Cells(c, 1) + Sheet2.Cells(d, 1) + Sheet2.Cells(e, 1) + Sheet2.Cells(f, 1) = 3199.57 Then
Sheet2.Cells(1, 2) = a & "," & b & "," & c & "," & d & "," & e & "," & f
Exit Sub
End If
Next
Next
Next
Next
Next
Next
End Sub

假设你的数据在A1:A93
在C1输入=SUMPRODUCT(A1:A93,B1:B93)
工具-规划求解
"目标单元格"引用C1,选"值"为输入3199.57
然后在可变单元格中引用B1:B93
在约束条件中,输入B1:B93,"=",3199.57
添加
B1:B93,">=",0
B1:B93,"<=",1
然后"按求解"
凡是在B1:B93出现1的地方,就是其对应A列中所有数字组合的和为