公式解决方案:
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
运行结果:
只有10组数据,直接在将各组合下列还快一些,
在F1输入:=A1&A2&A3
在F2 输入:=A1&A2&A4……
依次输入各种组合存档后,今后调整A1~A5的数据,各种组合数据也会随之变化。
如果你有A1—E1的数值,你可以在F格中用函数求出(A1*100+B1*10+C1*1)得出数值,向下拖得出所有的。