Excel Tables可以在一列中根据两个条件进行过滤。这是在表中搜索许多条件的一种方法。在Excel 2007中,Microsoft添加了强大的Table功能。表的一项有用功能是能够过滤任意数量的列。每列的过滤器控件使我们可以搜索两个条件。但是,当我使用这些过滤器时,我经常会遇到至少两个问题。首先,当我在几个不同的列中使用许多过滤器来探索大量数据时,发现自己的点击次数比我真正想做的要多。其次,我偶尔需要过滤一列中的两个以上条件,而Tables不提供此功能。所以最近,我终于厌倦了所有的点击。我已经厌倦了两个过滤器的限制。因此,我决定寻找一种更好的方法。我找到了。将筛选器列添加到您的Excel表这个想法很简单:要减少探索表格数据时的所有点击,如果我们可以依靠一列公式(如果该行具有我们要查找的数据,则返回TRUE),则容易得多,否则,则返回FALSE。但是那列公式应该是什么样的?在向您展示一种方法之前,让我们快速浏览一下我一直使用的数据中最依赖的数据列。(更准确地说,该列包含“元数据”,通常将其定义为“关于数据的数据”。)标签列包含描述每个经济数据行内容的类别标签。我用“ |”分隔了每个标签,以便在需要时可以搜索完整的标签。(我没有使用逗号作为分隔符,因为其中一些标记嵌入了逗号,如您在第二行中看到的:|美国|国家统计局|每月| bls |失业率|美国MSA | mt |密苏拉州||美国|国家统计局|每月|美国清算银行|失业率|失业率|县| mt |加勒廷县,mt ||美国|每月| sa | bls |利率|失业率|状态| mt ||美国| sa |季度|贝阿|失业|状态|转移| frb地区|福利| frb stl地区|尽管这些标签描述了来自圣路易斯联邦储备银行的经济数据,但我强烈建议您在创建自己的业务数据的Excel表时使用类似的方法。您可以在总帐数据,产品数据,库存数据等中添加一列标签。如果这样做,在报告和分析表中的数据时,可能会发现查找所需的项目容易得多。使用单标准搜索公式这是我创建的第一个公式。这是一个很长的公式,我将其包装为六行,以便您可以更轻松地阅读它:= AND(ISERR(SEARCH(“ | state |”,[@ Tags]))-1,ISERR(SEARCH(“ | msa |”,[@ Tags]))-0,ISERR(SEARCH(“ county”,[ @Tags]))-0,ISERR(SEARCH(“ | frb district |”,[@ Tags]))-0)如您所见,此公式由四个单独的搜索组成,并用AND函数包围。这就是它的作用……该AND如果每个参数具有非零值,函数返回TRUE。(在电子表格中,FALSE的值为零,而TRUE的值为1。)但是,如果任何参数返回零值,则AND返回FALSE。具体而言,在上式中,如果标签包含“ | state |”,不包含“ | msa |”,不包含“ county”且不包含“ || frb district |”,则AND返回TRUE。如果您以前没有使用过表格公式,那么“ [@Tags]”引用对您来说会很奇怪。Microsoft将其称为“结构化引用”。在公式中,您可以通过使用方括号内的列名称来引用“表”列中的数据。“ @”字符告诉Excel使用与公式所在的行相同的行中的“标签”列中的值。单一条件搜索公式的工作原理要查看四个SEARCH参数如何 工作,请看一下上面的第一个SEARCH。如果SEARCH函数在“标记”列内的行中找到“ | state |”,则ISERR()函数将返回FALSE,其值为零。因此,我们通过减去1来将此FALSE值更改为TRUE。(请记住,Excel将零视为FALSE,而所有其他值均视为TRUE。因此,在这种情况下,-1值的计算结果仍为TRUE。)另一方面,如果SEARCH函数未找到“ | state |”,则ISERR返回TRUE,其值为1。但是,当我们减去1时,会将其设为零,Excel将其视为FALSE。现在看第二条SEARCH行。如果SEARCH函数在“标记”列中的行中找到“ | msa |”,则 ISERR函数返回FALSE。因为我们减去了零,所以该FALSE值保持为FALSE,这根本不会改变该值。我本可以完全跳过那个“ -0”部分;但我添加它有两个原因。首先,通过在公式中的每个SEARCH函数上添加“ -1”或“ -0”,可以很容易地看到需要修改逻辑的位置。因此,例如,如果我想更改公式以选择“县”标签,则只需将“ -0”更改为“ -1”。第二,老实说,我对TRUE和FALSE之间的许多变化感到有些困惑,尤其是在离开表格一段时间之后。因此,“-1”告诉我是,公式正在寻找“ | state |”。而“ -0”件告诉我,不,该公式不需要其他三个项目。
Excel Tables可以在一列中根据两个条件进行过滤。这是在表中搜索许多条件的一种方法。在Excel 2007中,Microsoft添加了强大的Table功能。表的一项有用功能是能够过滤任意数量的列。每列的过滤器控件使我们可以搜索两个条件。但是,当我使用这些过滤器时,我经常会遇到至少两个问题。首先,当我在几个不同的列中使用许多过滤器来探索大量数据时,发现自己的点击次数比我真正想做的要多。其次,我偶尔需要过滤一列中的两个以上条件,而Tables不提供此功能。所以最近,我终于厌倦了所有的点击。我已经厌倦了两个过滤器的限制。因此,我决定寻找一种更好的方法。我找到了。将筛选器列添加到您的Excel表这个想法很简单:要减少探索表格数据时的所有点击,如果我们可以依靠一列公式(如果该行具有我们要查找的数据,则返回TRUE),则容易得多,否则,则返回FALSE。但是那列公式应该是什么样的?在向您展示一种方法之前,让我们快速浏览一下我一直使用的数据中最依赖的数据列。(更准确地说,该列包含“元数据”,通常将其定义为“关于数据的数据”。)标签列包含描述每个经济数据行内容的类别标签。我用“ |”分隔了每个标签,以便在需要时可以搜索完整的标签。(我没有使用逗号作为分隔符,因为其中一些标记嵌入了逗号,如您在第二行中看到的:|美国|国家统计局|每月| bls |失业率|美国MSA | mt |密苏拉州||美国|国家统计局|每月|美国清算银行|失业率|失业率|县| mt |加勒廷县,mt ||美国|每月| sa | bls |利率|失业率|状态| mt ||美国| sa |季度|贝阿|失业|状态|转移| frb地区|福利| frb stl地区|尽管这些标签描述了来自圣路易斯联邦储备银行的经济数据,但我强烈建议您在创建自己的业务数据的Excel表时使用类似的方法。您可以在总帐数据,产品数据,库存数据等中添加一列标签。如果这样做,在报告和分析表中的数据时,可能会发现查找所需的项目容易得多。使用单标准搜索公式这是我创建的第一个公式。这是一个很长的公式,我将其包装为六行,以便您可以更轻松地阅读它:= AND(ISERR(SEARCH(“ | state |”,[@ Tags]))-1,ISERR(SEARCH(“ | msa |”,[@ Tags]))-0,ISERR(SEARCH(“ county”,[ @Tags]))-0,ISERR(SEARCH(“ | frb district |”,[@ Tags]))-0)如您所见,此公式由四个单独的搜索组成,并用AND函数包围。这就是它的作用……该AND如果每个参数具有非零值,函数返回TRUE。(在电子表格中,FALSE的值为零,而TRUE的值为1。)但是,如果任何参数返回零值,则AND返回FALSE。具体而言,在上式中,如果标签包含“ | state |”,不包含“ | msa |”,不包含“ county”且不包含“ || frb district |”,则AND返回TRUE。如果您以前没有使用过表格公式,那么“ [@Tags]”引用对您来说会很奇怪。Microsoft将其称为“结构化引用”。在公式中,您可以通过使用方括号内的列名称来引用“表”列中的数据。“ @”字符告诉Excel使用与公式所在的行相同的行中的“标签”列中的值。单一条件搜索公式的工作原理要查看四个SEARCH参数如何 工作,请看一下上面的第一个SEARCH。如果SEARCH函数在“标记”列内的行中找到“ | state |”,则ISERR()函数将返回FALSE,其值为零。因此,我们通过减去1来将此FALSE值更改为TRUE。(请记住,Excel将零视为FALSE,而所有其他值均视为TRUE。因此,在这种情况下,-1值的计算结果仍为TRUE。)另一方面,如果SEARCH函数未找到“ | state |”,则ISERR返回TRUE,其值为1。但是,当我们减去1时,会将其设为零,Excel将其视为FALSE。现在看第二条SEARCH行。如果SEARCH函数在“标记”列中的行中找到“ | msa |”,则 ISERR函数返回FALSE。因为我们减去了零,所以该FALSE值保持为FALSE,这根本不会改变该值。我本可以完全跳过那个“ -0”部分;但我添加它有两个原因。首先,通过在公式中的每个SEARCH函数上添加“ -1”或“ -0”,可以很容易地看到需要修改逻辑的位置。因此,例如,如果我想更改公式以选择“县”标签,则只需将“ -0”更改为“ -1”。第二,老实说,我对TRUE和FALSE之间的许多变化感到有些困惑,尤其是在离开表格一段时间之后。因此,“-1”告诉我是,公式正在寻找“ | state |”。而“ -0”件告诉我,不,该公式不需要其他三个项目。
有关单标准搜索公式的最终说明上面的过滤器公式中的每个测试都查看同一列中的数据。但是,四个SEARCH函数中的每一个都可以在表的不同列中查找不同的信息。实际上,如果使用下面将要描述的多标准搜索公式,则将主要使用此单条件公式来测试多列数据。此外,请记住,此公式与任何其他Excel公式一样,即使它使用新方法来引用表中的数据。因此,与其硬编码“ | state |”,“ | msa |”等,不如将这些文本项放在表格上方的单元格中。这样,我可以仅通过更改单元格中的值来更改过滤条件。另外,当然,我可以用“-$ B $ 1”和“-$ B $ 2”之类的东西替换“ -1”和“ -0”,其中单元格B1和B2可以包含1或0,或者TRUE或FALSE。那将使我仅通过在TRUE和FALSE之间切换,然后通过按Alt + F5刷新表来更改要包含或排除的内容的逻辑。最后,我将通过告诉您我对该公式不满意的地方来结束本文……上面公式的所有四个部分都在看同一个单元格。因此,您认为我们可以找到一种方法,使用一个SEARCH函数使用列表中的每个项目搜索一个单元格,然后返回有关其找到的结果的摘要信息。采取下一步首先,我最近想出了一种使用SEARCH函数搜索列表中每个项目的方法,我将在如何使用Excel中的SEARCH&SUMPRODUCT函数执行多表搜索中对此进行说明 。