我是 Stack Overflow 的新手,所以如果我做了一些愚蠢的事情,请原谅。我有一个关于 Excel 的问题,我想要一列(假设 A)根据另一列(假设 B)中的数字进行分层编号。 B 阐明了行的级别。 F.e.如果级别为 3,则编号格式应为“X.X.X”。我添加了一张图像作为我想象的示例。
我尝试自己并在人工智能的帮助下开发一个合适的公式,但似乎没有任何效果。有人可以解决我的问题吗?
我正在尝试为我的 Excel 工作表开发公式寻求帮助,并希望人们给我有关函数的提示,甚至提供一个完整的公式。
我已经准备好了UDF函数,可以用作表格中的公式。
您应该将代码放在标准模块中(
Alt
+F11
打开VBA编辑器,然后插入模块):
Function Numbers(list)
' list - 1-D array or range of cells
list = list
If UBound(list) = 1 Then list = Application.Transpose(list)
Dim m As Long
m = Application.Max(list)
Dim ind, ind1
ReDim ind(1 To m) As String
Dim i As Long, k As Long, c As Long
Dim res
ReDim res(1 To UBound(list), 1 To 1) As String
For i = 1 To UBound(list)
k = list(i, 1)
For c = 1 To k - 1
If ind(c) = "" Then ind(c) = 1
Next c
If ind(k) = "" Then ind(k) = 1 Else _
ind(k) = ind(k) + 1
For c = k + 1 To m
ind(c) = ""
Next c
ind1 = ind
ReDim Preserve ind1(1 To k)
res(i, 1) = Join(ind1, ".")
Next i
Numbers = res
End Function
在工作表中将其用作公式:
=Numbers(B1:B19)