不。喂食器 | 风机数量 | 风机功率(兆瓦) | 当前 |
---|---|---|---|
F4 | 11 | 2.3兆瓦 | 470.43A |
F5 | 6 | 2.3兆瓦 | 256.6A |
F6 | 6 | 2.3兆瓦 | 256.6A |
F7 | 11 | 2.3兆瓦 | 470.43A |
F8 | 3 | 2.3兆瓦 | 128.3A |
F9 | 7 | 2.3兆瓦 | 299.37A |
F10 | 6 | 2.3兆瓦 | 256.6A |
F11 | 11 | 2.3兆瓦 | 470.43A |
F12 | 3 | 2.3兆瓦 | 128.3A |
我想要的最终结果是连接这对并关联其当前值
该公式应该是动态的,以便当馈线数量和风力发电机数量发生变化时,我们会得到具有相应当前值的新对。
VBA 也不错。 谢谢!
Dictionary
对象用于按数据进行分组。
Option Explicit
Sub Demo()
Dim objDic As Object, rngData As Range
Dim i As Long, j As Long
Dim arrData, arrRes, sKey, arrKey
Set objDic = CreateObject("scripting.dictionary")
Set rngData = Range("A1").CurrentRegion
arrData = rngData.Value
For i = LBound(arrData) + 1 To UBound(arrData)
sKey = arrData(i, 2) & "|" & arrData(i, 3) & "|" & arrData(i, 4)
If objDic.exists(sKey) Then
objDic(sKey) = objDic(sKey) & "," & arrData(i, 1)
Else
objDic(sKey) = arrData(i, 1)
End If
Next i
ReDim arrRes(objDic.Count, 1 To UBound(arrData, 2))
For i = 1 To UBound(arrData, 2)
arrRes(0, i) = arrData(1, i)
Next
j = 1
For Each sKey In objDic
arrKey = Split(sKey, "|")
For i = 0 To 2
arrRes(j, i + 2) = arrKey(i)
Next
arrRes(j, 1) = objDic(sKey)
j = j + 1
Next sKey
Sheets.Add
Range("A1").Resize(j - 1, UBound(arrData, 2)) = arrRes
Set objDic = Nothing
End Sub