【发布时间】:2019-09-07 23:08:19
【问题描述】:
我正在尝试查找匹配的值并将它们排序在一列中。
A 列包含 A 列中人员完成的名称和 B 列培训。
可以在这里看到我的数据示例:
有了这些数据,我想获得一个包含两列(名称和培训)的单独表。在 C 列中,我想要名称,在 D 列中,我想要由 C 列中的人员完成的培训。
=IFERROR(INDEX($B$2:$B$7,SMALL(IF($C2=$A$2:$A$7,ROW($A$2:$A$7)-1,""),ROWS($D$1:D1))),"No training done")
我尝试过使用上述公式,但它似乎只适用于表格中的第一个条目。我不知道我应该改变什么。
这就是我得到的
它向受过培训的人显示“未完成培训”,并且“0”应为“未完成培训”。
这是我的预期结果:
L.E:Anna 擅长 Excel。上图中我的一个错误。
另外,我只对培训专栏感兴趣,因为我已经掌握了排序名称的公式。
谢谢。
【问题讨论】:
-
当您使用 Small 时,需要一个矩阵和一个位置,并且您返回一个数字 ROW($A$2:$A$7)-1,这就是它工作的原因在第一行。当您在矩阵上只使用一个数字的第二个元素时,没有返回值。
-
我建议您使用辅助列将空白条目替换为“未完成培训”,然后创建一个包含辅助列的数据透视表,并在数据透视表中显示每个人的培训情况。如果您想保持名称的原始顺序,您可以添加另一个帮助列来为每个条目提供索引号,并且当您创建数据透视表时,您可以按照与原始数据集中相同的顺序对数据进行排序。
#powerquery如果您正在处理更大的数据集并且不想使用辅助列,则可以使用相同的逻辑完成这项工作。 -
为什么安娜没有进行任何培训?这是您在预期输出中的错误吗?
-
@JvdV 是的,这是我的错误。
标签: excel excel-formula