如何在Excel设置固定结果,使其按公式自由组合各列数据,并列出所有组合,急.1000=A方案+B方案+C方案(A、B、C三列数自由组合,必须满足公式,并自动列出所有达到上公式组合,最少两列数或更多列
来源:学生作业帮助网 编辑:六六作业网 时间:2025/02/01 17:56:17
如何在Excel设置固定结果,使其按公式自由组合各列数据,并列出所有组合,急.1000=A方案+B方案+C方案(A、B、C三列数自由组合,必须满足公式,并自动列出所有达到上公式组合,最少两列数或更多列
如何在Excel设置固定结果,使其按公式自由组合各列数据,并列出所有组合,急.
1000=A方案+B方案+C方案(A、B、C三列数自由组合,必须满足公式,并自动列出所有达到上公式组合,最少两列数或更多列)数字和方案都比较多,一个个计算非常巨大,望高手指教,
按量预算组合方案搭配\x05A方案\x05B方案\x05C方案\x05数量\x05产量结果
\x050\x050\x050\x050\x051000=A方案+B方案+C方案
\x0540\x0570\x0560\x051\x05(A、B、C三列数自由组合,必须
\x0580\x05140\x05120\x052\x05满足公式,并自动列出所有达到
\x05120\x05210\x05180\x053\x05上公式组合,最少两列数或更多列)
\x05160\x05280\x05240\x054\x05
\x05200\x05350\x05300\x055\x05简单说:固定计算结果,按公式
\x05240\x05420\x05360\x056\x05自由组合,并列出达到要求组合
\x05280\x05490\x05420\x057\x05
\x05320\x05560\x05480\x058\x05例如1:1000=A12+B2+C12=400+0+600
\x05360\x05630\x05540\x059\x05例如2:1000=A3+B8+C11=40+420+540
\x05400\x05700\x05600\x0510\x05例如3:1000=A5+B6+C12=120+280+600
A方案\x05B方案\x05C方案\x05结果
400\x050\x05600\x051000
40\x05420\x05540\x051000
120\x05280\x05600\x051000
如何在Excel设置固定结果,使其按公式自由组合各列数据,并列出所有组合,急.1000=A方案+B方案+C方案(A、B、C三列数自由组合,必须满足公式,并自动列出所有达到上公式组合,最少两列数或更多列
用宏解决,下面供参考.运行前请注意先存档以免出错.
增加宏的方法说明:对准工作表标签击右键选取查看代码,弹出VBA窗口后,在窗口贴入代码.关闭VBA窗口.运行宏可按ALT+F8
Sub FindPlan()
Dim RA As Range,RB As Range,RC As Range,RSum,CA As Range,CB As Range,CC As Range,RR As Range
Dim VA,VB,VC
Set RA = Range("A2:A12") '此处引号内输入方案A的单元格范围
Set RB = Range("B2:B12") '此处引号内输入方案B的单元格范围
Set RC = Range("C2:C12") '此处引号内输入方案C的单元格范围
RSum = 1000
Set RR = Workbooks.Add.Worksheets(1).Range("A1")
Set RA = Union(RA,[IV65536])
Set RB = Union(RB,[IV65536])
Set RC = Union(RC,[IV65536])
RR.Value = "方案A":RR.Offset(0,1).Value = "方案B":RR.Offset(0,2).Value = "方案C":RR.Offset(0,3).Value = "结果"
For Each CA In RA
If CA.Address = "$IV$65536" Then VA = 0 Else VA = CA.Value
For Each CB In RB
If CB.Address = "$IV$65536" Then VB = 0 Else VB = CB.Value
For Each CC In RC
If CC.Address = "$IV$65536" Then VC = 0 Else VC = CC.Value
If VA + VB + VC = RSum Then
Set RR = RR.Offset(1,0)
RR.Value = VA
RR.Offset(0,1).Value = VB
RR.Offset(0,2).Value = VC
RR.Offset(0,3).Formula = "=SUM(RC[-3]:RC[-1])"
End If
Next
Next
Next
End Sub