excel随机想加问题
答案:2 悬赏:70 手机版
解决时间 2021-02-16 23:34
- 提问者网友:不要迷恋哥
- 2021-02-16 15:10
excel随机想加问题
最佳答案
- 五星知识达人网友:低血压的长颈鹿
- 2021-02-16 15:47
如果用公式达成的话,很难,如果用VBA解决的话就比较容易,是否需要用VBA编程解决?
一、将工作表中C1单元格设定为特殊的自定义格式
上图中,我C1单元格的内容是500(看公式编辑栏的值为500),但C1单元格显示的内容却是“两个数相加等于500的ID组合”,这是因为我对C1单元格设置了特殊的数据格式,设置方法如下:
二、按下ALT+F11组合键,进入VBE界面,如下图:
三、双击左侧的对应的工作表名(例如我将需要自动组合的数据放在了sheet1,表名是“自动列出组合”)进入写代码的界面,然后将下面的代码复制并粘贴:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 1 And Target.Column = 3 Then
Range("C2:C65536").ClearContents
Dim i As Long, j As Long, k As Long
i = 2
For j = 2 To Range("A65536").End(xlUp).Row
For k = (j + 1) To Range("A65536").End(xlUp).Row
If Range("B" & j).Value + Range("B" & k) = Target.Value Then
Range("C" & i) = Range("A" & j) & "+" & Range("A" & k)
i = i + 1
End If
Next
Next
End If
End Sub
四、复制粘贴代码后,得到如下截图的结果
五、点击VBE界面的菜单“文件”--->关闭并返回Mirosoft EXCEL,退出VBE
六、回到工作表后,随意更改C1单元格的值(直接输入数字并回车,不需要输入文字内容),组合的结果都会自动更新C列中
一、将工作表中C1单元格设定为特殊的自定义格式
上图中,我C1单元格的内容是500(看公式编辑栏的值为500),但C1单元格显示的内容却是“两个数相加等于500的ID组合”,这是因为我对C1单元格设置了特殊的数据格式,设置方法如下:
二、按下ALT+F11组合键,进入VBE界面,如下图:
三、双击左侧的对应的工作表名(例如我将需要自动组合的数据放在了sheet1,表名是“自动列出组合”)进入写代码的界面,然后将下面的代码复制并粘贴:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 1 And Target.Column = 3 Then
Range("C2:C65536").ClearContents
Dim i As Long, j As Long, k As Long
i = 2
For j = 2 To Range("A65536").End(xlUp).Row
For k = (j + 1) To Range("A65536").End(xlUp).Row
If Range("B" & j).Value + Range("B" & k) = Target.Value Then
Range("C" & i) = Range("A" & j) & "+" & Range("A" & k)
i = i + 1
End If
Next
Next
End If
End Sub
四、复制粘贴代码后,得到如下截图的结果
五、点击VBE界面的菜单“文件”--->关闭并返回Mirosoft EXCEL,退出VBE
六、回到工作表后,随意更改C1单元格的值(直接输入数字并回车,不需要输入文字内容),组合的结果都会自动更新C列中
全部回答
- 1楼网友:独钓一江月
- 2021-02-16 16:15
两个相加是可以的,任意多个相加就难了。为了公式便于理解,我插入了6个辅助列,效果如下:
最后的公式上面有了,下面给出黄色辅助列的公式:
C列其实就是1~81的序号,可以拉,9*9=81,如果有N个数,就拉N*N行
D2公式=ROUNDDOWN((C2-1)/9,0)+1,表示第一个加数
E2公式=MOD(C2-1,9)+1,表示第二个加数
F2公式=OFFSET($B$1,D2,)+OFFSET($B$1,E2,),表示计算x+y
G2公式=IF(F2=500,MAX(G$1:G1)+1,0),就是判断和是否为500,为500的编号1、2、3、...
H2公式=OFFSET($A$1,D2,)&"+"&OFFSET($A$1,E2,),就是按照ID显示x+y
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯