在A1:E1中输入数据,在F列显示出来。5个数选3的组合是10个组合。就像图中得F列,得到的是 1 2 7 8 9中5个数字选3的所有组合。
公式解决方案:
H1=1
I1=2
J1=3
H2
=IF(((I1+1)>4)*((J1+1)>5),H1+1,H1)
I2
=IF(IF((J1+1)>5,I1+1,I1)>4,H2+1,IF((J1+1)>5,I1+1,I1))
J2
=IF(J1+1>5,I2+1,J1+1)
选定H2:J2
下拉至第10 行
K1
=INDIRECT("R1C"&H1,FALSE)*100+INDIRECT("R1C"&I1,FALSE)*10+INDIRECT("R1C"&J1,FALSE)
下拉至K10
K列即所求的。
VBA解决方案:
在工作表插入一命令按钮,并编程如下:
Private Sub CommandButton1_Click()
l = 1
For i1 = 1 To 3
For i2 = i1 + 1 To 4
For i3 = i2 + 1 To 5
Range("F" & l) = Cells(1, i1) * 100 + Cells(1, i2) * 10 + Cells(1, i3)
l = l + 1
Next i3
Next i2
Next i1
End Sub
运行结果: