如何在excel中获取一组数据并创建包含每个数据点的列表?

如何在excel中获取一组数据并创建包含每个数据点的列表?,excel,Excel,我有一个大的数据集,我需要把它做成一个列表。数据涉及包裹的到达。我需要在到达时间之前把清单安排好 目前我的数据如下所示 在1小时(1:00)内,2个蓝色、3个红色、1个黄色和2个橙色包裹到达 在第2小时(2:00),5个蓝色、5个红色、0个黄色和3个橙色包裹到达 根据这些数据,我需要为所有包裹创建一个按到达时间排列的列表。应该是这样的 是否有excel函数可以帮助执行此过程 您可以使用PowerQuery来解决这个问题 将数据格式化为表格(CTRL-T),将表格命名为tbl_Packages

我有一个大的数据集,我需要把它做成一个列表。数据涉及包裹的到达。我需要在到达时间之前把清单安排好

目前我的数据如下所示

在1小时(1:00)内,2个蓝色、3个红色、1个黄色和2个橙色包裹到达

在第2小时(2:00),5个蓝色、5个红色、0个黄色和3个橙色包裹到达

根据这些数据,我需要为所有包裹创建一个按到达时间排列的列表。应该是这样的


是否有excel函数可以帮助执行此过程

您可以使用PowerQuery来解决这个问题

将数据格式化为表格(CTRL-T),将表格命名为tbl_Packages,并使用以下M代码:

let
    Source = Excel.CurrentWorkbook(){[Name="tbl_Packages"]}[Content],
    Change_type = Table.TransformColumnTypes(Source,{{"Arrival Time", type text}, {"01:00", Int64.Type}, {"02:00", Int64.Type}, {"03:00", Int64.Type}, {"04:00", Int64.Type}}),
    Unpivot_Other = Table.UnpivotOtherColumns(Change_type, {"Arrival Time"}, "Time", "Count"),
    Filter_Rows = Table.SelectRows(Unpivot_Other, each ([Count] <> 0)),
    Custom_Column = Table.AddColumn(Filter_Rows, "LIst", each List.Numbers(1,[Count])),
    Expand_List = Table.ExpandListColumn(Custom_Column, "LIst"),
    Remove_other_columns = Table.SelectColumns(Expand_List,{"Arrival Time", "Time"}),
    Sort_Rows = Table.Sort(Remove_other_columns,{{"Time", Order.Ascending}, {"Arrival Time", Order.Ascending}})
in
    Sort_Rows
let
Source=Excel.CurrentWorkbook(){[Name=“tbl_Packages”]}[Content],
Change_type=Table.TransformColumnTypes(源代码,{“到达时间”,类型text},{“01:00”,Int64.type},{“02:00”,Int64.type},{“03:00”,Int64.type},{“04:00”,Int64.type}),
Unpivot_Other=Table.UnpivotOtherColumns(更改类型,{“到达时间”},“时间”,“计数”),
Filter_Rows=表。选择行(取消对其他行的排序,每个([Count]0)),
Custom_Column=Table.AddColumn(筛选_行,“列表”,每个列表。编号(1,[Count]),
Expand_List=Table.ExpandListColumn(自定义_列,“列表”),
删除其他列=表。选择列(展开列,{“到达时间”,“时间”}),
Sort_Rows=Table.Sort(删除_其他_列,{{“Time”,Order.升序},{“Arrival Time”,Order.升序})
在里面
按行排序

您将希望vba执行此操作。使用公式执行此操作可能需要许多帮助栏。@ScottCraner我对vba知之甚少。这在vba中是否相当简单?“简单”是相对的。对于经常练习VBA的人来说,简单对初学者来说可能很难。我会给这个评分为3分或4分。@ScottCraner好的,你能给我一些关于如何开始的建议吗。问题是我不确定我是否恰当地描述了这个问题。2将所有内容加载到变量数组中。循环列,获取存储为变量的时间。然后循环每个列中的行。将颜色放入变量中,然后再次循环时间数,并将存储在变量中的值放入另一个变量数组中。