Excel-使用按ID和日期分组的vlookup转换列

Excel-使用按ID和日期分组的vlookup转换列,excel,pivot-table,vlookup,transpose,Excel,Pivot Table,Vlookup,Transpose,在Windows 10上的Excel 2016中,我有一个包含多个列的工作簿。我感兴趣的专栏是日期。我想把这些日期拉到另一个带有vlookup函数的工作簿中。我使用ID作为两本工作簿之间的参考 **ID** **Date** 100 11/13/2017 100 12/1/2017 100 1/20/2018 200 10/20/2014 200 11/12/2014 200 12/14/2014 200 1/10/201

在Windows 10上的Excel 2016中,我有一个包含多个列的工作簿。我感兴趣的专栏是日期。我想把这些日期拉到另一个带有vlookup函数的工作簿中。我使用ID作为两本工作簿之间的参考

**ID**   **Date**
100      11/13/2017
100      12/1/2017
100      1/20/2018
200      10/20/2014
200      11/12/2014
200      12/14/2014
200      1/10/2015
300      8/9/2015
300      9/10/2015
300      10/12/2015
日期以Excel格式显示为日期格式。 我想把这个换成

**ID** 

100 11/13/2017 12/1/2017 1/20/2018 
200 10/20/2014 11/12/2014 12/14/2014 1/10/2015
300 8/9/2015 9/10/2015 10/12/2015
在新工作簿中。每个ID可以有1到12个日期。我更喜欢按时间顺序排列,但日期的顺序对我来说并不像方向那个么重要

我刚才以为我可以用透视表来做这件事,但它没有给出日期,只是一个这样或那样的摘要,我不知道如何删除空格。
编辑:数据按ID分组和排序。

我对Power Query一无所知,也没有时间学习。我不懂VBA,而且我对其他Excel函数也不是很在行,但我找到了一种进行换位的基本方法。我想人们可以用这个做一个宏,但我没有走那么远。我试着用屏幕截图来配合这些步骤。以下是一些起始数据的视图:

我使用功能区上的“插入”选项卡插入透视表。在透视表中,输入激活的ID和日期。将ID添加到行部分,将日期添加到列部分,然后再次将日期添加到值部分

我将数据透视表中的值复制到一个新的空白工作表中,省去了总计(或总和或其他任何名称)行和列

我突出显示了包含我要折叠成行的日期的行和列,最左边的列保留了ID和最上面的行,这是一种日期的标题行。 在Ribbon的Home选项卡上,我使用Find and Select菜单选择“Go to Special”,这将打开一个带有菜单的新窗口。请注意,您也可以使用F5获得一个稍有不同的查找窗口,然后转到左下角并选择“Special”(这次没有该选项的屏幕截图)

在“转到特殊”窗口菜单中,选择“空白”选项

这将突出显示我刚才选择的表中的所有空单元格

我右键单击上下文菜单中的一个空白单元格,然后选择删除。选择Delete后,我会看到另一个菜单,询问如何处理剩余的单元格。我选择“左移单元格”

具有日期值的单元格前面和单元格之间的空单元格将被删除,所有日期将滑入对应ID字段旁边的左侧。在屏幕截图中,我还没有删除所选内容,但这只是表面现象。在包含多个ID实例的列中排列的日期现在以行的形式排列,其中一个ID实例和向右延伸的日期。日期当前在屏幕截图中格式化为文本。只需要通过选择日期并将格式更改为短日期来更改


您有多少数据?数据是否总是像您的示例那样按ID排序?如果不排序,它将需要一些数组类型的公式,其中太多将导致计算运行缓慢,甚至可能使excel崩溃。请使用Power Query和group by ID。示例很多。如果遇到麻烦,请发回邮件。