我有一张 Excel 表格,用作桌面游戏的主咒语列表。每一行(第 1 行除外)包含咒语的数据:名称、目标、范围、持续时间、功能、效果、主题、级别和描述。(第 1 行包含过滤器的标题。)
B 列至 G 列(目标至主体)有一组特定的值,这些值定义了角色可能能够施放哪些法术。例如,“痛苦”的目标为:个体、范围为:可见、持续时间为:持续、功能为:起源、效果为:减少、主体为身体。如果施法者不知道如何施放“主体为身体”法术,那么尽管知道所有其他标准,他或她也无法施放痛苦。
我希望咒语列表可以过滤,这样玩家就可以轻松找到可用的咒语。但有一个小问题:某些咒语的效果和/或主题有多个值。
目前,我将相关值按字母顺序排列在单元格中,并以逗号分隔的列表形式显示。例如,“蝙蝠斗篷”的效果为:“动画、合并、分离”,主题为:“动物、构造”。此设置有助于减少过滤器下拉列表中的冗余(游戏书不按字母顺序对效果/主题进行排序),但这两列中的复选框数量仍然比我想要的多。
我希望效果过滤器只有 9 个复选框:“全选”和游戏中的 8 种不同效果(而不是当前存在的 26 个)。如果我选择动画、组合和分离,则会出现蝙蝠斗篷;如果我取消选择分离,蝙蝠斗篷就会消失。同样,我只希望主题过滤器中有 20 个复选框,而不是当前出现的 53 个。
如果可能的话,我想不使用 VB 来完成这项任务,但我知道这可能不可行。如果 VB 是解决这个问题的唯一选择,那就没问题。
编辑:
我要这个:
看起来像这样:
无需改变我的数据集。
将“效果”改为三个单独的列(或四(在主题的情况下),对我来说不是一个有用的解决方案。例如,比较“动画、伪造、修改”、“动画、修改”、“伪造、修改”和“修改、揭示”的情况。在几乎所有情况下,我都会被迫重复相同的对三或四个不同列进行过滤。
答案1
我觉得更简单的解决方案是直接使用,Text Filters
如屏幕截图所示。我知道这可能比你想要的理想解决方案更耗时。
因此,替代方案是使用 VBA。考虑到您最初对此持保留态度,这很不幸,但如果您想要复选框功能,我看不出还有其他方法