将多行合并为一行

将多行合并为一行

输入如下:

姓氏 名字 职位 受聘日期 描述 字段名称 值 SSN/Fed ID
AL V 助理 2008 年 12 月 8 日 驾驶执照到期日 2016 年 2 月 23 日 364
AL V 助理 2008 年 12 月 8 日到期 物理 DOT 到期 2014 年 9 月 17 日 364
AL V 助理 12/08/2008 指纹识别注册 3/14/13 364
AL V 助理 2008 年 12 月 8 日 指纹采集 2013 年 3 月 28 日 364
AL V 助理 12/08/2008 虐待儿童 邮寄 3/21/13 364
AL V 助理 12/08/2008 虐待儿童 收到 04/04/2013 364
AL V 助理 12/08/2008 年度证书违规 3/9/12 364
AL V 助理 12/08/2008 MVR 最后运行 3/20/12 364
AL V 助理 2008 年 12 月 8 日 驾驶员 S 卡有效期 364
AL V 助理 2008 年 12 月 8 日 驾驶员重新认证到期 364
AL V 助理 12/08/2008 体检 SB Exp. 364
AL V 助理 12/08/2008 刑事 收到 3/18/13 364
AL V 助理 12/08/2008 法案 24 12/23/2011 364
AL V 助理 2008 年 12 月 8 日 指纹识别 ID 号 PAE 364
AL V 助理 2008 年 12 月 8 日 体检 NON-DOT Exp. 364
AL V 助理 2008 年 12 月 8 日 指纹采集 2013 年 3 月 21 日 364
AL V 助理 12/08/2008 指纹重新提交 364
BA S 助理 2009 年 7 月 14 日 驾驶执照到期日 2014 年 2 月 22 日 190
BA S 助理 2009 年 7 月 14 日 到期日期 体检 DOT 到期日期 2014 年 2 月 1 日 190
BA S 助理 07/14/2009 指纹识别注册 6/17/2009 190
BA S 助理 07/14/2009 指纹采集已接收 6/25/2009 190
BA S 助理 07/14/2009 虐待儿童 邮寄 2/17/2009 190
BA S 助理 07/14/2009 收到虐待儿童报告 2/26/2009 190
BA S 助理 07/14/2009 年度证书违规 03/14/2012 190
BA S 助理 07/14/2009 MVR 最后运行 03/20/2012 190
BA S 助理 2009 年 7 月 14 日 驾驶员 S 卡有效期 190
BA S 助理 2009 年 7 月 14 日 驾驶员重新认证到期 190
BA S 助理 2009 年 7 月 14 日 体检 SB Exp. 190
BA S 助理 07/14/2009 刑事 收到 2/22/13 190
BA S 助理 07/14/2009 法案 24 12/22/2011 190
BA S 助理 2009 年 7 月 14 日 指纹识别号 PAE 190
BA S 助理 2009 年 7 月 14 日 体检 非 DOT 经验 190
BA S 助理 07/14/2009 指纹采集 6/17/2009 190
BA S 助理 2009 年 7 月 14 日 指纹重新提交 190

我如何才能将行合并得到如下结果?

姓氏 名 头衔 DOHire DL 有效期 SS 体检 DOT 指纹 已注册指纹 已接收虐待儿童 已邮寄虐待儿童 已接收年度证书 MVR 上次运行 驾驶员 S 驾驶员重新认证体检 SB 犯罪记录 已接收 Act 24 指纹 ID# 体检 非 DOT 指纹 已重新提交指纹
Al V 助理 2008 年 12 月 8 日 2016 年 2 月 23 日 364 2012 年 9 月 17 日 2013 年 3 月 14 日 2013 年 3 月 28 日 2013 年 3 月 21 日 2013 年 4 月 4 日 2012 年 3 月 9 日 2013 年 3 月 20 日 2013 年 3 月 18 日 2013 年 12 月 23 日 PAE 2013 年 3 月 21 日   
Ba S 助理 2008/7/14 2014/2/22 190 2014/2/1 2009/6/17 2009/6/25 2009/2/17 2009/2/26 2012/3/14 2012/3/20 2013/2/22 2011/12/22 PAE 2009/6/17

答案1

您正在寻找 Excel 数据透视表。数据透视表获取共享多个关键列和一个或几个数据元素的数据行,并将它们转换为每个关键行的单行,并具有多个聚合列。

您没有执行传统的枢轴函数,因为您没有对值进行求和,但它应该适合您。

数据透视表一开始可能会令人困惑,因此我建议您从 3 个左右的测试行开始,让它们显示为 3 列,然后添加具有 3 个测试行的第二个用户并确保它仍然正常工作,然后添加所有十几个左右的数据透视表。

Google Excel 数据透视表教程或者查看这个: http://www.wikihow.com/Create-Pivot-Tables-in-Excel

答案2

如果你的数据最初带有A1:H35标题,我们可以在其中构建你的新表格I1:AE3

在此处输入图片描述

(第一个公式)

每行中用于标识唯一性的关键值是 SSN/FedID,因此为了获取 SSN 的唯一值列表,请在单元格M2(我们的新 SSN/FedID 列)中输入此数组公式。请务必使用CTRL+ SHIFT+输入ENTER以使其成为数组。

=INDEX(H$2:H$35, MATCH(0, COUNTIF(M$1:M1, H$2:H$35), 0))

这将M:M使用唯一的 SSN 号码填充列,以便我们可以使用这些号码来填充新表的其余部分。 在此处输入图片描述

(公式二)

I2可以向下和向右填充单元格I2:L3,以使用公式填充所有单元格......

=INDEX(A:A,MATCH($M2,$H:$H,0))

这里的新标题与我们原来的数据标题相对应。

I1= "LastName"| J1= "FirstName"| K1= "JobTitle"| L1="DateHired"

在此处输入图片描述

(第三个公式)

现在,我们必须在此数组公式中以单元格类型开始填写唯一"FieldName"值作为我们的新标题N1,并确保输入CTRL+ SHIFT+ENTER使其成为数组。

=INDEX($F$2:$F$35, MATCH(0, COUNTIF($L$1:L1, $F$2:$F$35), 0))

输入后,您可以将该公式拖放到右侧并复制到右侧,以填充单元格N1:AE1

在此处输入图片描述

(第四式)

现在N2您可以在单元格中输入此公式。

=SUMIFS($G:$G,$F:$F,N$1,$H:$H,$M2)

现在,您可以将该公式向下拖到右侧。"0"如果原始表格中的单元格为空白,它将返回。如果这些单元格被格式化为日期,它将显示1/0/1900。您可以通过将公式更改为语句来避免这种情况IF(),例如如果 0 则返回"-"或您喜欢的任何内容,例如...

=IF(SUMIFS($G:$G,$F:$F,N$1,$H:$H,$M2)=0,"-",SUMIFS($G:$G,$F:$F,N$1,$H:$H,$M2))

在此处输入图片描述

-我希望这有帮助,

关于我使用的数组公式的更多信息可以在这里找到... 如何从 Excel 中的列中提取唯一的不同列表

相关内容