我拥有:
一列包含年份和周数,作为我的数据的唯一时间标识符,还有一列包含值。行数各不相同。如您所见,对于具有相同 YEAR+WEEKNUM 的每一行,值都是相同的。
我需要:
为每个 YEAR+WEEKNUM 返回一个值 - 并且这些值必须出现在 C 列中。我不能只过滤唯一值,因为不同的星期有时具有相同的值。
答案1
答案2
我有几分钟空闲时间,所以我提供了一个 VBa 解决方案。您没有要求使用 VBa,但由于目前没有其他解决方案,它可能就足够了。我怀疑 @MateJuhasz 的数据透视表解决方案是最好的,但不确定这是否属于工作表公式(我怀疑不是)
Sub WalkThePlank()
Dim startRow As Integer
startRow = 2
Dim resultRow As Integer
resultRow = 1
Dim resultCol As String
resultCol = "C"
Dim prev As String
prev = ""
Do While Range("A" & startRow).Value <> ""
Dim v As String
v = Range("A" & startRow).Value
If (prev <> v) Then
resultRow = resultRow + 1
prev = v
End If
Range("C" & resultRow).Value = Range("B" & startRow).Value
startRow = startRow + 1
Loop
End Sub
请记住,VBa 中没有撤消选项,因此请先备份