我有一张已插入表格的电子表格。这是联邦快递的运输数据,每包收费一排。每个包裹可以收取很多费用,它们都会共享一个共同的跟踪号码。
我需要做的是创建一个查询,或者提取每个跟踪号码的所有费用,并将它们显示在一行上。每个跟踪号码的费用数量可以从1到8或10不等。
当前表格
TrackingNumber ChargeDescription ChargeAmount
310873570610,预付费,9.32
310873570610,Ontario PST,2.52
310873570610,关税,0.08
540310873037854,性能价格,-4.35
540310873037854,燃油附加费,0.73
540310873037854,获得折扣,-5.2
540310873037861,性能定价,-4.06
需要的输出
TrackingNumber,ChargeDescription,ChargeAmount,ChargeDescription,ChargeAmount,ChargeDescription,ChargeAmount
310873570610,Advancement Fee,9.32,Ontario PST,2.52,Customs Duty,0.08
540310873037854,性能价格,-4.35,燃油附加费,0.73,赢得折扣,-5.2
540310873037861,性能定价,-4.06
我在Excel中尝试了几种不同的连接以及许多不同的vlookup。任何关于如何处理这个问题的指针都将非常感激。
谢谢, 约翰
答案 0 :(得分:0)
您可以使用Excel宏完成此操作。
Sub RowsToColumns()
Dim r As Range
Set r = Selection
For n = 1 To r.Rows.Count
If r.Cells(n, 1) = r.Cells(n - 1, 1) And Not IsEmpty(r.Cells(n, 1)) Then
Range(r.Cells(n, 2), r.Cells(n, 3)).Copy r.Rows(n - 1).End(xlToRight).Offset(0, 1)
r.Rows(n).Delete
n = n - 1
End If
Next n
End Sub
请注意一些注意事项:
1)此版本假定数据实际格式化为您的示例数据。最重要的是,它假定所有重复项都组合在一起,因此您需要在运行此列之前对第一列进行排序。
2)您必须选择要对其运行的行和列。 Macro Before
3)它不会自动为创建的新列生成列名 Macro After
但希望这对您有用或让您走上正确的道路!