= HLOOKUP()在小表的一种情况下效果很好,但是在没有大表的类似情况下工作不正常,为什么? (需要帮忙)

时间:2014-04-02 19:47:39

标签: google-sheets google-docs

以下是我的工作文件的摘录,我的问题在于:Google Spreadsheet link

现在我正在为我的策略游戏平衡英雄和神器。我有两个单独的表,一个用于英雄 - “(全部)英雄”表,一个用于可穿戴工件 - “(全部)工件”表。每个英雄可以同时佩戴6种不同的文物,目前游戏中有26种。 我想检查一下英雄的数据在他们佩戴不同的文物组合时会如何变化。为了做到这一点,我需要一个单独的表 - “(所有)英雄与神器计算器”,我可以从我的“英雄表中选择任何级别的英雄“以及我的”工件表“中的任何工件组合。我还需要一个列,它将计算所选英雄的最终统计数据。

为了做到这一点,我决定使用数据验证进行英雄/神器拾取(例如 - 细胞'(全部)英雄与神器计算器!B2')和 = HLOOKUP()根据拾取的英雄/神器(例如 - 单元'(全部)带有神器计算器的英雄!B3 ')的表格填充功能。问题是,在这种情况下我的 = HLOOKUP()公式如果排序设置为false则返回 #N / A ,如果排序设置为true则返回不正确的值

在完成所有这些之前,我已经为英雄,工件和结果计算创建了一些小测试表:“测试英雄”,“测试项目”和“< strong>测试计算器“。在第一种情况下给出 #N / A 的公式非常相似。

我真的需要完成那个大的“(所有)英雄与神器计算器”表,但我不知道该怎么办。我尝试过使用 = QUERY()函数,但是我无法达到预期的效果。

请帮帮我。

1 个答案:

答案 0 :(得分:0)

将您的公式=HLOOKUP($B$2,'(All) Heroes'!C:BT,2,false)替换为=HLOOKUP($B$2,'(All) Heroes'!C$4:BT,2,false)

基本上range的第一行应包含查找完成的key

修改

上述值适用于&#34;(全部)Heros&#34;中第4行以下的所有属性。片。对于LevelName (en_EN),您可以使用indexmatch

例如,单元格(All) Heroes with Artifacts Calculator!B3中的公式为

=index('(All) Heroes'!C2:BT2, match(B$2,'(All) Heroes'!C$4:BT$4,0))

并且单元格(All) Heroes with Artifacts Calculator!B4中的内容将是

=index('(All) Heroes'!C3:BT3, match(B$2,'(All) Heroes'!C$4:BT$4,0))