查找匹配的记录,而不是重复记录

时间:2016-04-09 06:41:20

标签: excel

我有一个适合带来值B的匹配值的公式 所以我选择了这个价值' Lista!A4:A182'

 =IFERROR(INDEX(Lista!A4:A182;MATCH("B";Lista!D4:D182;0));"")

但是当匹配的值位于第n行时它会带来重复的问题,所以所有先前的行都会重复,直到匹配的行为止。

oBS:我没有重复的行。

例如:

  Name       class
 aaaa        B
 DDDD        B
 vvvvv       A
 wwwww       A
 xxxxx       B

结果如下:

 Name        
 aaaaa
 DDDD
 xxxx
 xxxx
 xxxx

但我希望它是

  Name        
  aaaaa
  DDDD
  xxxx

有任何帮助吗?

1 个答案:

答案 0 :(得分:3)

为什么不简单地使用Excel的过滤方法? https://support.office.com/en-us/article/Quick-start-Filter-data-by-using-an-AutoFilter-08647e19-11d1-42f6-b376-27b932e186e0?ui=en-US&rs=en-US&ad=US在您的情况下,只需在工作表Lista中设置自动填充功能,然后在列D class = "B"中进行过滤。

使用公式时,只能使用数组公式:

{=IFERROR(INDEX(Lista!$A$4:$A$1000,SMALL(IF(Lista!$D$4:$D$1000="B",ROW(Lista!$D$4:$D$1000)-ROW(Lista!$D$3)),ROW(1:1))),"")}

这是一个数组公式。将其输入单元格而不使用大括号,然后按[Ctrl] + [Shift] + [Enter]进行确认。然后会自动显示花括号。

但是数组公式的性能很差。因此,使用Excel可以更好地实现过滤方法。