楼主,你好!这个是没法使用函数公式解决的,还是建议楼主使用VBA程序进行处理。WPS下载https://www.wpssoft.com/download.html欢迎来到wps官网,这里提供最新版WPS下载,最新WPS OFFICE办公软件及其全部组件的免费WPS下载服务。作为国内领先的办公软件,WPS电脑版集成了文字处理、电子表格和演示文稿等多种功能,完美满足您的日常办公需求。WPS界面简洁直观,操作便捷,即使是办公新手也能快速上手。WPS下载到电脑上,您将享受最新功能和安全保障。
(一)VBA程序代码如下:(写代码不易,望笑纳)
Sub ZuHe_xxx()
Dim i1, i2, i3, MyArray(100), str, Rn
On Error Resume Next
Set Mysheet1 = ThisWorkbook.Worksheets("Sheet1")
Mysheet1.Range("H1:H1000") = ""
For i1 = 1 To 1000
str = ""
Randomize '初始化随机数
Erase MyArray '初始化数组
For i2 = 1 To 7
If Mysheet1.Cells(i1, i2) <> "" Then
For i3 = 0 To 1000000
Rn = Int(Rnd() * 7 + 1) '生成1-7的随机数
If UBound(Filter(MyArray, Rn)) <> 0 Then '如果生成的随机数不重复,则
MyArray(i2) = Rn
str = str & Mysheet1.Cells(i1, Rn)
Exit For
End If
Next
End If
Next
Mysheet1.Cells(i1, 8) = str
Next
End Sub
(二)程序的运行结果如下截图:
【注】程序运行之前请做好数据备份,以免丢失。
有些复杂,最好不要难为公式。
组合算法出来很多 |
|
|
|
|