2016-02-29 104 views
0

我正在尝试构建动态电子表格,以简化一些战斗遭遇角色,为我的朋友玩游戏。在最基本的层面上,这个“经理”被分成两个电子表格,数据表格看起来像这样:如何从表格行动态生成数据验证列表

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 

而且应该使用动态范围之间的关系表和数据验证,以使我能够作战的电子表格煮了遭遇现场:

character   init hp    defense   weapon dmg   pen 
{enemies[name]}  someVal (vlookup)  (vlookup)  ???  (vlookup) (vlookup) 

现在,我可以轻松地将一组字符到从敌人表的有效性,我也可以从VLOOKUP这些表的其他数据。我遇到的问题是,我不知道如何动态地拉出角色可以装备的武器列表(而不是拉动所有武器的庞大列表)。

我想是这样的:

=OFFSET(Equipments,MATCH(Z19,Equipments[Character],0)-1,1,1,COUNTA(OFFSET(Equipments,MATCH(Z19,Equipments[Character],0)-1,1,1,10))) 

和公式的计算结果很好,但我得到一个错误,如果我尝试输入成数据验证。

回答