INDEX返回错误的值,没有返回值

时间:2019-09-07 23:08:19

标签: excel excel-formula

我正在尝试查找匹配的值并将它们排序在列中。 A列包含名称和B列由人员在A列中完成的培训。

可以在此处查看我的数据示例:

Data


有了这些数据,我想得到一个带有两个列(名称和培训)的单独表。在C列中,我需要名称,在D列中,我想要由C列中的人员进行的训练。

client

我尝试使用上面的公式,但是它似乎仅适用于表中的第一个条目。我不知道该怎么办。


这就是我得到的

Formula result

它向接受过培训的人员显示“未完成培训”,并且在“ 0”处应为“未完成培训”。

这是我的预期结果:

Result

L.E :Anna做过Excel。上图中我的错误。
另外,我只对“培训专栏”感兴趣,因为我已经掌握了将名称排序的公式。

谢谢。

3 个答案:

答案 0 :(得分:0)

=INDEX(Training,AGGREGATE(15,6,1/(C2=Names)*ROW(Names),COUNTIF($C$2:$C2,$C2))-1)

enter image description here

在这种情况下,我对以下结果使用了自定义格式:;;"No Training Done";@

但是,如果您不介意使用更长的公式,则可以使用IF函数来返回No Training Done语句,前提是该公式什么也不返回。

=IF(INDEX(Training,AGGREGATE(15,6,1/(C2=Names)*ROW(Names),COUNTIF($C$2:$C2,$C2))-1)=0,"No Training Done",INDEX(Training,AGGREGATE(15,6,1/(C2=Names)*ROW(Names),COUNTIF($C$2:$C2,$C2))-1))

此外,如果需要,您可以使用全列引用。如果这样做,请删除-1,因为您不必为标题行进行调整。

如果您想使用Power QueryGet&Transform,只需将{em> null 替换为No Training Done,然后根据您的结果对结果进行排序所需的顺序。所有这些都可以通过PQ编辑器GUI完成,下面是M代码

M代码

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Names", type text}, {"Training", type text}}),
    #"Replaced Value" = Table.ReplaceValue(#"Changed Type",null,"No Training Done",Replacer.ReplaceValue,{"Training"}),
    #"Sorted Rows" = Table.Sort(#"Replaced Value",{{"Names", Order.Ascending}})
in
    #"Sorted Rows"

答案 1 :(得分:0)

D2:D7中输入以下公式:

= IFERROR( INDEX( $A$2:$A$7,
AGGREGATE( 15, 6,
MATCH( $A$2:$A$7, $A$2:$A$7, 0 ),
ROWS( B2:B$2 ) ) ), "" )

enter image description here

然后在E2:E7

中输入此公式
= IFERROR( TRIM( SUBSTITUTE( REPT( " ", 3 ) & INDEX( $B$2:$B$7,
AGGREGATE( 15, 6,
ROW(E:E) / ( ( $A$2:$A$7 = D2 ) * 1 ),
COUNTIF( D$2:D2, D2) ) ) & REPT( " ", 3 ), REPT( " ", 6 ), "No Training done" ) ), "" )

enter image description here

答案 2 :(得分:-1)

最简单的方法是:

1)复制您的信息并将其粘贴到C:D列

2)在单元格A:2上放置=COUNTIF($C$2:C2,C2)并将其拖动到您的行范围。

3)在单元格B:2上放置=C2&A2并将其拖动到您的行范围。

4)在单元格E:2上放置=B2并将其拖动到您的行范围。

5)在单元格F:2上放置=IF(VLOOKUP(E2,$B$2:$D$7,3,FALSE)="","",VLOOKUP(E2,$B$2:$D$7,3,FALSE))

6)隐藏A:B列

希望有帮助