![Excel:按子字符串过滤](https://linux22.com/image/1580411/Excel%EF%BC%9A%E6%8C%89%E5%AD%90%E5%AD%97%E7%AC%A6%E4%B8%B2%E8%BF%87%E6%BB%A4.png)
我在 Excel 表中列出了电影。在标题为“类型”的一列中,显示了电影类型。一部电影可以有一个或多个类型,用逗号分隔(并按字母顺序排序):
现在,当我想看恐怖电影时,我只想显示包含“恐怖”、“惊悚”和“奇幻”的电影。
但是,使用 MS Excel 的标准“排序和过滤”功能,它会以不同的方式处理每种类型的组合(见上文)。列表大约有 200 个条目:“动作”、“动作、冒险、传记”、“动作、冒险、喜剧”等,按字母顺序排列。(如果有 $n$ 个类型,每部电影最多有 3 个类型,那么将有大约 $nCr(n, 3)$ 个可能的类型组合,除了一些不切实际的组合,但仍然如此)。因此,要显示所有恐怖电影,我必须浏览列表并手动勾选所有包含字符串“Horror”的条目。
请注意,下面的屏幕截图中有内置“自定义自动过滤器”的界面,我可以显示包含戏剧和恐怖的电影(使用通配符忽略其他标签),但此界面不允许多个 OR,只允许 AND 和最多一个 OR),并且以这种方式访问和调整搜索比使用下拉菜单更不方便用户。
我想要的是能够使用下拉列表过滤类型,该列表识别出列中当前 >200 个不同的值只是相同 ~15 个类型的组合。在此列表中,我只会勾选一次“恐怖片”和“惊悚片”和“奇幻片”,并显示包含所有这些子字符串(或其中任何一个,取决于规范)的所有电影,无论其他类型是“犯罪片”、“动作片”等。如何实现?