Excel筛选多个值

时间:2019-07-17 05:57:25

标签: excel vba excel-formula autofilter advanced-filter

我有一个包含1300行的数据表。每行均由链接到我们数据库的特定数字编号。我需要用两个参数过滤所有内容5次。

  • 第一个:过滤以0和1结尾的所有内容
  • 第二个过滤器:过滤所有以2和3结尾的内容
  • 第五个过滤器:过滤所有以8和9结尾的内容

我需要分别使用这些过滤器,因为不同的人会使用它。

示例:第1个人需要查看结尾数字为2和3的数据 第2个人需要查看结尾数字为6和7的数据

我可以使用一个参数来过滤数据,例如*5*8,但是当我尝试使用2个参数除以""ORAND时它不会工作。

高级过滤也不想使用我的两个参数。当我将这两个条件放置在不同的单元格中并选择它们作为条件时。结果将为空白。而且,当我仅选择*5之类的条件时,该过滤器将毫无意义,因为它还会显示以其他数字结尾的单元格。

我希望结果是可以在高级过滤器或VBA代码中使用的公式,因为我将在一个小的脚本中实现该公式,以使其对我的同事尽可能容易地使用。解释非常感谢,这样我和其他人可以用不同的方式来实现它。

1 个答案:

答案 0 :(得分:0)

间接(解决方法)解决方案

由于要过滤的列中有实数,因此不能使用带有星号*的文本过滤器,而必须使用数字过滤器。因此,您需要使用帮助程序列进行过滤,该列仅显示数字的最后一位。

在您的帮助器列中添加以下公式:

=VALUE(RIGHT(A:A,1))

所以看起来像下面的图片。

enter image description here 图像1:添加了仅显示结尾数字的帮助器列。

现在,您可以过滤12(使用xlOr)的确切结尾数字,

.AutoFilter Field:=2, Criteria1:="=1", Operator:=xlOr, Criteria2:="=2"

,甚至在诸如1-5之类的结束范围内,也可以使用过滤器>=1<=5xlAnd之间的数字。

.AutoFilter Field:=2, Criteria1:=">=1", Operator:=xlAnd, Criteria2:="<=5"

enter image description here 图像2:按结束数字过滤的数据,仅显示1到5之间的结束数字。