对 - 这是一个非常棘手的短语,所以我将使用几张图片来帮助我。
在列A和B中是团队名称和每个团队拥有的玩家数量的变化列表。
D列包含所需的输出。
我需要一个公式,插入到单元格D2中并向下拖动到B列的总数,以返回团队名称 - 但至关重要以允许返回多个行返回空白。下方空白行的数量实际上等于1 - 该团队中的玩家数量。
我已经考虑了一些,但无法想出合适的配方。有什么想法吗?
欢迎提出更好标题的建议。
答案 0 :(得分:1)
以下VBA功能将完全符合您的要求。如果您的任何部分不清楚,请告诉我。
Sub teamRows()
Dim colDRowNumber As Integer
Dim i As Integer
Dim teamName As String
Dim numberOfRows As Integer
Dim HowFar As Integer
' Loop through the teams in column A
HowFar = Application.WorksheetFunction.CountA(Range("A:A"))
' Variable to keep count of rows in column D
colDRowNumber = 2
For i = 2 To HowFar
' Get the team's name and number of rows
teamName = Range("A" & i).Value
numberOfRows = Range("B" & i).Value
' Fill in the team's name in column D
Range("D" & colDRowNumber).Value = teamName
' Increase the row number by the number of empty rows required
colDRowNumber = colDRowNumber + numberOfRows
Next i
End Sub
答案 1 :(得分:0)
复杂但短暂的尝试 - 我想避免循环。
以下示例适用于A2至A20
y = Split(Join(Application.Transpose(Application.Evaluate("=index(substitute(substitute(substitute(REPT(A2:A20 &"","",B2:B20),A2:A20&"","",""X"",1),A2:A20,""""),""X"",A2:a20),0,1)")), ","), ",")
[d2].Resize(UBound(y)) = Application.Transpose(y)