Excel 如何从表行动态生成数据验证列表

Excel 如何从表行动态生成数据验证列表,excel,validation,Excel,Validation,我正试图建立一个动态的电子表格,以便简化一些战斗遭遇,为我的朋友们提供一个角色扮演游戏。在最基本的层面上,此“管理器”分为两个电子表格,一个数据电子表格如下所示: table: enemies (containing general data on enemies) name hp defense orc 15 10 goblin 5 9 kobold 8 10 table: weapons (containing general data on weapons)

我正试图建立一个动态的电子表格,以便简化一些战斗遭遇,为我的朋友们提供一个角色扮演游戏。在最基本的层面上,此“管理器”分为两个电子表格,一个数据电子表格如下所示:

table: enemies (containing general data on enemies)
name    hp  defense
orc     15  10
goblin  5   9
kobold  8   10

table: weapons (containing general data on weapons)
name    dmg pen
spear   4   5
sword   6   4
bow     6   6

table: equipment (since I mix up different weapons on different enemies)
name    weap1   weap2   weap3   weap4   weap5   weap6   weap7   weap8   weap9   weap10
orc     sword   bow
goblin  spear
kobold  sword   bow     spear
=OFFSET(Equipments,MATCH(Z19,Equipments[Character],0)-1,1,1,COUNTA(OFFSET(Equipments,MATCH(Z19,Equipments[Character],0)-1,1,1,10)))
还有一个战斗电子表格,应该使用这些表格中的动态范围和数据验证,让我能够在现场虚构遭遇:

character           init    hp              defense         weapon  dmg         pen
{enemies[name]}     someVal (vlookup)       (vlookup)       ???     (vlookup)   (vlookup)
现在,我可以很容易地从敌人表中提取一系列字符进行验证,我还可以从这些表中提取其他数据。我的问题是,我不知道如何动态提取角色可以装备的武器的“列表”(而不是提取所有武器的庞大列表)

我试过这样的方法:

table: enemies (containing general data on enemies)
name    hp  defense
orc     15  10
goblin  5   9
kobold  8   10

table: weapons (containing general data on weapons)
name    dmg pen
spear   4   5
sword   6   4
bow     6   6

table: equipment (since I mix up different weapons on different enemies)
name    weap1   weap2   weap3   weap4   weap5   weap6   weap7   weap8   weap9   weap10
orc     sword   bow
goblin  spear
kobold  sword   bow     spear
=OFFSET(Equipments,MATCH(Z19,Equipments[Character],0)-1,1,1,COUNTA(OFFSET(Equipments,MATCH(Z19,Equipments[Character],0)-1,1,1,10)))

公式的计算结果很好,但如果我尝试将其输入到数据验证中,就会出现错误。

在此布局中列出设备:
name weap

兽人之剑
orc弓

地精矛

kobold剑

kobold弓

kobold spear

然后这样做: