所以我有一个列表,其中包含唯一的设备名称和4种不同的关税:关税1,2,3和4
我想创建一个列表,每个设备和关税组合都有一行,因此每个设备总共有4行。
示例:
设备1 |关税1
设备1 |关税2
。
设备3 |关税1
设备3 |关税2
有没有快速简便的方法呢?
编辑:我希望它在两个单独的列中,因此列A:设备,B列:关税
答案 0 :(得分:2)
使用Power Query(获取和转换数据)非常简单 - 如果您将设备列表放在一个表中,而将关税列表放在另一个表中:
let
Source = Excel.CurrentWorkbook(){[Name="tbDevices"]}[Content],
Tariffs = Excel.CurrentWorkbook(){[Name="tbTariffs"]}[Content],
#"Added Custom" = Table.AddColumn(Source, "Custom", each Tariffs),
#"Expanded Custom" = Table.ExpandTableColumn(#"Added Custom", "Custom", {"Tariffs"}, {"Tariffs"})
in
#"Expanded Custom"
例如:
答案 1 :(得分:1)
示例:
Option Explicit
Public Sub Combinations()
Dim i As Long, y As Long, counter As Long
counter = 2
With ThisWorkbook.Worksheets("Sheet1")
For i = 2 To .Cells(.Rows.Count, "A").End(xlUp).Row '<== Loop devices skipping header
For y = 2 To .Cells(.Rows.Count, "B").End(xlUp).Row '<== Loop tariffs skipping header
.Cells(counter, "C") = .Cells(i, "A")
.Cells(counter, "D") = .Cells(y, "B")
counter = counter + 1
Next y
Next i
End With
End Sub
示例输出: