查找包含4个特定值的所有行?

时间:2015-12-30 15:34:36

标签: excel excel-formula excel-2010

我正在使用excel,我有一个数字表,从A到F有6列,超过1000行。例如,从我的表中,

4 17 37 38 47 53
8 43 54 55 56 60
4 18 21 25 38 57
15 25 37 38 58 59
4 16 19 20 27 43
18 32 47 50 54 56

我想找到是否至少有一行(必须是一行!),其中包含数字16 19 20 27.从这个例子中,有一个匹配,但我不知道不知道如何使用四个不同的数字来制作搜索或公式。

我觉得我需要使用匹配功能,但无法弄清楚它并且我不确定。有谁知道怎么做?

谢谢!

3 个答案:

答案 0 :(得分:1)

这应该有效:

=IF(AND(OR(A1=16,B1=16,C1=16,D1=16,E1=16,F1=16),OR(A1=19,B1=19,C1=19,D1=19,E1=19,F1=19),OR(A1=20,B1=20,C1=20,D1=20,E1=20,F1=20),OR(A1=27,B1=27,C1=27,D1=27,E1=27,F1=27)),"Yes","No")

将它放在表格的新列中。如果行包含所有4个值,则返回Yes,否则返回No。然后,您可以过滤新的是/否列,以搜索Yes

的行

答案 1 :(得分:0)

我将您要搜索的四个值放在I1:L1中,并在A1:F#中搜索要搜索的数据数组。然后在列G中创建一个帮助列,将A:F连接成一个分隔的字符串。 G1中的公式为:

=":"&A1&":"&B1&":"&C1&":"&D1&":"&E1&":"&F1&":"

我使用“:”作为分隔符(你可以使用你数据中没有的任何字符)。

G1中的结果是:

:4:17:37:38:47:53:

现在在H1中使用此公式进行搜索:

=NOT(ISERR(FIND(":"&$I$1&":",G1)*FIND(":"&$J$1&":",G1)*FIND(":"&$K$1&":",G1)*FIND(":"&$L$1&":",G1)))

如果找到值(带有前导和尾随分隔符)并且#VALUE,则每个FIND将返回一个INT!除此以外。因此,如果找到所有值并且#VALUE,则该产品将是INT!除此以外。将FINDs包含在ISERR内会使结果更漂亮(TRUE / FALSE而不是#VALUE!),并且当找到所有4个值时,使用NOT反转返回TRUE,否则返回FALSE。 / p>

希望有所帮助。

答案 2 :(得分:0)

这是另一种方式---更优雅(没有辅助列)。和以前一样,我将您要搜索的四个值放在I1:L1中,并在A1:F#中搜索要搜索的数据数组。然后在G列中使用此ARRAY公式(CTRL-SHIFT-ENTER):

=NOT(OR(PRODUCT(A1:F1-$I$1)<>0,PRODUCT(A1:F1-$J$1)<>0,PRODUCT(A1:F1-$K$1)<>0,PRODUCT(A1:F1-$L$1)<>0))

每个PRODUCT项检查是否存在一个值,并在找到值时返回0,否则返回非零值。使用PRODUCT测试四个<>0项中的每一个的结果,如果找不到值,则返回TRUE。然后,如果找到一个或多个值 ,则返回TRUE,如果找到 all ,则返回FALSE。该结果包含在NOT中,以便在找到所有四个值时函数结果为TRUE。