Excel Vlookup 查找第二、第三、第四或第五个文本值,而不是第一个匹配值

Excel Vlookup 查找第二、第三、第四或第五个文本值,而不是第一个匹配值

我有一排可能重复的员工 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 拖到值区域。

相关内容