我有一排可能重复的员工 ID 号,还有一列是同一个人的不同值。我需要一列唯一的 ID,并将认证转置在同一行中。例如:
ID Certification
0123 CPR
456 CPR
456 Nursing
456 Safety
789 Engineering
966 CPR
966 Safety
因此对于 ID ,0123
它们只有一个,因此只有一个值需要检索,但是对于 ID 456
,我需要 Excel 工作表将认证值放在与 ID 相同的行中,但跨越的次数与认证数量相同:
ID Certif1 Certif2
456 CPR Safety
由于值都是文本,因此任何想法都将不胜感激。我也在使用 Excel 10。
答案1
您可以分两步构建转换后的表。
步骤 1:生成唯一 ID 列表。
您可以使用高级筛选工具执行此操作。选择包含标题的 ID 列,然后单击数据功能区上的高级筛选。选中复选框Unique Records Only
,然后选择Copy to another location
。设置输出的位置,然后单击确定。这将为您提供新表行的唯一 ID 列表。
第 2 步:获取新列中每个 ID 对应的认证。
您可以使用数组公式将匹配的认证返回到相应的列。在新表格中第一条记录的行中,输入以下公式,并进行调整以匹配您的工作表。
=IFERROR(INDEX($B$1:$B$8,SMALL(IF($A$1:$A$8=$F2,ROW($B$1:$B$8),1000000),COLUMN()-6)),"")
其中A1:B8
,您提供的原始数据为,
F2
您要查找认证的新表中的 ID,并且
COLUMN()-6
对于列等于 1 Certif1
,对于列等于 2 Certif2
(您必须调整减法项以匹配您的数据)。
输入后,选择单元格,单击公式栏内并按Ctrl+ Shift+ Enter。这会将公式作为数组公式输入。
完成此操作后,将公式填入该列。然后将其填入所需的列数(对于您的样本数据,只需 3 列,因为456
有 3 个认证)。这应该会满足您的要求。
样本:
答案2
您可以使用数据透视表来构建表格结构,尽管与您描述的布局略有不同。
对于左侧的示例,将 ID 和 Certification 拖到行区域并选择表格布局。删除所有总计和小计。
对于左侧的示例,将 ID 拖到行,将 Certification 拖到列区域,然后再次将 Certification 拖到值区域。