请问在EXCEL中是否可以输入一个数学(如:30),就可以列出所有这样的三个数呢?

来源:百度知道 编辑:UC知道 时间:2024/05/30 20:36:18
如:30它由1x3x10,2x3x5,1x2x15,1x6x5可以乘得.

按下ALT+F11,菜单:插入-模块,将下列代码复制到编辑框中.退出
然后在空白单元格中输入
=MULTI(30)
就可以分解30的因式了.

Public Function multi(ByVal n As Integer) As String
Dim a() As String
Dim b As Integer
b = 1
ReDim a(1 To n) As String
For x = 1 To n
For y = 1 To n
For Z = 1 To n
If x < y And y < Z And x * y * Z = n Then
a(b) = x & "x" & y & "x" & Z
b = b + 1
End If
Next
Next
Next
For x = 1 To b
multi = multi & a(x) & " "
Next
End Function

好像没有这种函数哎

先把有规律的输入,然后填充

还是那个护国法师的好啊

这个题不用VBA很难搞,我编了个函数,不过对自定义函数的返回值为数组的我不大懂,试了半天试出来,不过只能用多单元格形式的数组公式,
Function xzk(x)
m = 0
ReDim jg(x)
For i = 1 To Int(x ^ (1 / 3))
For j = Application.Max(i, 2) To Int((x / i) ^ (1 / 2))
If Int(x / (i * j)) = x / (i * j) And x / (i * j) > j Then
m = m + 1
jg(m - 1) = i & "*" & j & "*" & x / (i *