【问题标题】:How to sum a row in Excel with lookup values from a column based lookup?如何将 Excel 中的一行与基于列的查找中的查找值相加?
【发布时间】:2014-11-05 13:43:29
【问题描述】:

我在 AC 到 AU 列中有一行值(但也有一些空白)

我想通过查找将这些值转换为公式,并将所有查找值相加。

对于 1 个单元格,我可以成功使用 VLOOKUP(AC2,'Lookup_Table'!A2:B41,2)

如何通过这种查找将 AC2 的整行与 AU2 相加?

注意在垂直查找中查找是面向列的,“查找表”实际上是一个工作表。

这已经困扰了我好几个小时了!

         | AC | AD | AE ..Ax... AU
   Row 1 | 12 | 23 | 43 ..00... 67

    'Lookup table' worksheet
        A  |  B
        12 |  4
        23 |  2
        43 |  3
        67 |  5

上面示例第 1 行数据的结果应该是 14

【问题讨论】:

    标签: excel excel-formula lookup


    【解决方案1】:

    您需要结合使用SUMINDEX 函数,其中 Lookup_Table 中的 AB 是表的索引列,而 A!是您要查找的值:

    =SUM(INDEX(Lookup_Table!$AC$1,MATCH(A1,Lookup_Table!$AB:$AB,0)):INDEX(Lookup_Table!$AU$1,MATCH(A1,Lookup_Table!$AB:$AB,0)))
    

    【讨论】:

    • 为您的答案而苦苦挣扎。有一个对 K1 的引用,这让我有点吃惊。在查找表中A列是索引,B列是我希望查找/拉回的值
    • 抱歉,K1 应该是 Lookup_Table!$AU$1 - 测试后我的代码有点混乱。
    • 还在挣扎。我现在提供了一个例子
    • 误解了您的问题,Jacob Bolda 的回答正是您想要的。
    【解决方案2】:

    使用数组公式(ctrl+shift+enter 而不仅仅是enter)要容易得多。一般来说,我不喜欢数组公式(因为它们很容易被未受过教育的人破坏),但我认为除了重新格式化工作表或使用辅助列之外,它最适合您的情况。

    {=SUM(IF(AC2:AU2=Lookup_Table!A2:A41,Lookup_Table!B2:B41))}
    

    如果您输入正确,它应该在整个内容周围有 {}。

    【讨论】:

    • 这对我来说很有意义。但结果是#N/A。我已经能够使用帮助列,但有兴趣解决这个问题
    • 您的另一个公式中的其他地方是否有 #N/A 错误?很确定它不能返回 #N/A 否则。
    • 哦,实际上,数组的大小不同,我想知道这是否是问题所在。不过我得跑去上班,以便稍后查看。
    • @AndrewPym,更新了我的公式。我认为您几乎必须将其作为数组公式来执行。如果您使用evaluate formula 按钮单击公式,则应该很清楚。本质上为每个单元格输出一个真/假,并确定要吐出哪个值(表中的一个,或 0)。然后这个数组通过sum() 运行以获得结果。
    • 就像魔术一样。最后是简单而优雅的报价。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-26
    • 1970-01-01
    相关资源
    最近更新 更多