过滤表格的公式?

过滤表格的公式?

Excel 中是否存在可以让人过滤如下例所示的表格集的公式?

该公式需要是一个 OR 函数,所以当我查看打篮球的参与者时,它不会删除像 Daniel Ollo 那样打其他运动(不包括篮球)的参与者。

1 = Participant Plays Sport; 0 = Participant Does Not Play Sport

        Basketball  Soccer  Tennis  Baseball    Hockey  Running
John Doe    1          0       1       1          0       0
Kelly Anne  1          0       0       0          1       1
Daniel Ollo 0          0       0       0          0       1
Luis Packer 1          0       0       1          1       0

当搜索某项特定运动(例如篮球、曲棍球和跑步)时,Excel 表将显示如下内容:

Basketball
John Doe
Kelly Anne
Luis Packer

Hockey
Kelly Anne
Luis Packer

Running
Daniel Ollo
Kelly Anne

答案1

或者函数不足以找到名称,这是另一种方法:
首先为每项运动定义名称:
选择篮球列下的所有数字(不带标题),然后单击公式栏左上方(引用的位置)并将篮球写入与标题相同
对每一列重复相同的
操作为所有定义名称:足球、网球、棒球​​... 为名称列命名

在 A8 中写下您要搜索的运动,例如篮球,
在 A9 中写下以下数组公式,并将其向下拖动以覆盖与初始数据相同的行数

=IFERROR(INDEX(Name,SMALL(IF(INDIRECT($A$8)=1,ROW(INDIRECT($A$8))-1,""),ROW()-8)),"")Ctrl+Shift+Enter

姓名是从第一个名称开始直到最后一个 Indirect($A$8) 的所有名称列的定义名称,
是对应数字的数字数组

8 是您写下运动项目的行号,例如篮球
每当您更改运动项目的名称时,参与者的名称最终都会改变

答案2

这里有一个不错的模板供您使用。使用 MATCH 和 OFFSET 函数非常适合您的情况。

MATCH 函数返回条件的第一次出现并返回行号。=MATCH(lookup_value, lookup_array, [match_type])

OFFSET 函数允许您选择一个数组,然后使用公式从中移动。

我设立了一个与你类似的例子: 在此处输入图片描述

我没有返回人员姓名,而是返回了他们姓名所在的行。我觉得这将有助于向您展示如何做得更好。当然,一旦您有了行号,您就可以添加另一个匹配项来获取姓名。

请注意第二组,其中列出了带有数字的运动项目。 在此处输入图片描述

第一个公式与上文类似,仅使用 MATCH 函数。这里非常简单地说明了如何找到第一个匹配项。

在此处输入图片描述

第一个单元格下方的单元格应与上图类似。这看起来就像第一个单元格使用 MATCH 函数时一样,但会根据上一次搜索找到的行进行偏移。如果未找到任何内容,则 IFERROR 只是用来显示空白。我将美元符号放在行上,因为您根本不希望这些行进行调整。但是列可以,因此您只需将公式拖到右侧,一切就会正常。

希望这能帮助您了解如何使用 MATCH 和 OFFSET。

相关内容