我有一张工作表(在 Excel 2003 中),其中有多个交叉引用单元格,例如:
1 Red|Green|Blue|Yellow|Any|Information
2 X | | | | |....
3 X | | | | X |....
4 | | X | | X |....
5 | | X | | |....
5 | | X | X | |....
现在,股票自动过滤器允许我插入下拉选择器,这样我就可以根据任何给定列中 X 的存在来过滤行。例如,我可以过滤所有标记为红色(带有 X)的行
但是,我希望能够通过一个简单的下拉菜单来根据两列筛选行,并以“或”的方式组合在一起(而不是“与”的方式)。
例如,使用股票自动过滤器,如果我在“红色”列中选择“X”,并在“任意”列中选择“X”,则将显示 1 行(第 3 行),其中仅包含选中“红色”和“任意”的记录。
我希望它显示在“红色”列中有“X”或在“任意”列中有“X”的所有行(即第 1 至第 3 行)
没有 VBA 可以实现这个吗?
我知道高级过滤器可以提供类似的功能(尽管是手动过程),但它没有提供一个简单的下拉样式界面来切换它,而这对于电子表格的基本用户来说是我需要的。
答案1
带有辅助列的下拉菜单
=OR(B:B="x",F:F="x")
您可以在列中使用公式G
并对其进行自动过滤:
过滤依据TRUE
:
我不知道如何在没有 VBA 的情况下将其变成下拉菜单,但以下是说明以防万一
好吧,你可以做一个or
,但它也会and
自然地包括,因为and
满足两个都 or
标准 -
笔记:这是针对数值数据并使用数值运算符的,但这是我所知道的唯一方法。也许你可以修改它以=x
假设你的桌子是A1:F7
这样的,必须在另一个表的不同行中定义您的条件。我用过B9:F10
。像这样:
请注意,我的过滤器与我的数据具有相同的标题colors
。现在,我转到高级筛选并在我的表格和标准中输入如下内容:
现在,当我进行过滤时,我得到了or
结果:
抱歉,我昨天误读了你的问题,否则我会早点发布这个问题。