【问题标题】:Embedded functions for SUM and MATCH in EXCELEXCEL 中 SUM 和 MATCH 的嵌入式函数
【发布时间】:2014-07-15 19:50:53
【问题描述】:

所以我一直在尝试将不同工作表中的范围总和放到当前工作表中。

目前我有 SUM('工伤补偿'!BY(Match(B3,'工伤补偿'!BX:BX)):'工伤补偿'!BY(Match(B3,'工伤补偿'!BX:BX)))

我得到#NAME?因此。但是,一旦我在 Match 功能上按 F9,它就会完美运行。基本上我想知道....有什么方法可以先执行 Match 功能?我想保持简洁,而不必将其分成两部分,因此只有一行代码是理想的。我在玩 INDIRECT,但我不确定这是否有效。所以基本上我只需要先执行匹配,因为函数中的某些东西搞砸了。我相信这是“工人补偿”!BY,因为一旦我 F9 那...我得到一个名称错误。

感谢您的帮助!如果我的解释不清楚,请告诉我。

【问题讨论】:

    标签: excel sum match


    【解决方案1】:

    您正在尝试使用 BY(5+10) 之类的等式引用单元格 BY15,而 Excel 并不是为了识别这种奇怪的引用形式而构建的。它不会只是在这样的参考文献中进行数学运算。它会认为您正在尝试使用一个名为“BY”的函数,其值为 15,但没有一个名为 BY 的函数,这就是您获得 NAME 的原因?错误。

    您需要的是 index() 函数,以便您可以在 BY 列中返回特定引用以在 : 范围中使用。例如你可以写

    SUM(INDEX(BY:BY,15):INDEX(BY:BY,21))
    

    那么你的完整方程会是什么样子:

    SUM(INDEX('Workers compensation'!BY:BY,Match(B3,'Workers compensation'!BX:BX)):INDEX('Workers compensation'!BY:BY,Match(B3,'Workers compensation'!BX:BX)))
    

    【讨论】:

    • 由于两个单元格都指向同一个位置,你不能只使用=VLOOKUP(B3,'Workers compensation'!BX:BY,2)
    • 感谢大家的帮助!
    • @tigeravatar 是的,您可以使用 VLOOKUP,而不是执行 INDEX(MATCH())。我不只是使用 match 来复制 OP,实际上我总是使用 INDEX(MATCH()),因为它的计算速度更快,并且可以让你用 VLOOKUP、HLOOKUP 和一些你不能做的事情来做所有事情。我还发现它更容易排除故障,因为您只需在 MATCH() 部分上按 F9 即可查看它的位置。
    猜你喜欢
    • 2021-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多