首页 文章

VBA替代sumproduct功能

提问于
浏览
2

我尝试使用SUMIFS,但它失败了,因为公式不允许我使用来自相同标准范围的两个不同的标准(当然这是有道理的),所以我环顾互联网并发现'= SUMPRODUCT'而不是我用过但它没有返回任何 Value . 这是我的公式

=SUMPRODUCT((('BB_Juni 2016_Crew'!E:E="DB")+('BB_Juni 2016_Crew'!E:E="DZ"))*('BB_Juni 2016_Crew'!G:G))

也许用if子句循环遍及范围并在“then”之后使用sum函数?

在行号26和27中是两个不同的字符串值("DB,DZ"),并且在同一行中是列中的值(Betrag),这意味着金额,我需要一个公式来汇总与"DB"和"DZ"在同一行中的所有值

3 回答

  • 1

    我同意Jeeped你应该“将你的完整列引用剪切到数据的实际范围”

    你的公式中有 slight typo . 用 , 替换 * ,它会正常工作:)

    你原来的配方应该是

    =SUMPRODUCT((('BB_Juni 2016_Crew'!E1:E6="DB")+('BB_Juni 2016_Crew'!E1:E6="DZ")), 'BB_Juni 2016_Crew'!G1:G6)

    将6替换为相关行 .

    enter image description here

  • 1

    这是我能在没有更多信息的情况下改进现有配方的最佳方法 .

    =SUMPRODUCT(('BB_Juni 2016_Crew'!E1:INDEX('BB_Juni 2016_Crew'!E:E, MATCH("zzz", 'BB_Juni 2016_Crew'!E:E))={"DB","DZ"})*('BB_Juni 2016_Crew'!G1:INDEX('BB_Juni 2016_Crew'!G:G, MATCH("zzz", 'BB_Juni 2016_Crew'!E:E))))
    

    它可能看起来更复杂但实际上执行的工作要少得多 .

    实际上,这可能会更好 .

    =SUM(SUMIFS('BB_Juni 2016_Crew'!G:G, 'BB_Juni 2016_Crew'!E:E, {"DB","DZ"}))
    

    两者都是标准配方(不需要CSE) .

  • 0

    有一个电子表格函数 AND ,它接受几个条件并返回TRUE,所有条件都为TRUE,否则为FALSE .

    您可以尝试重新措辞您的配方或让您的问题更清晰,以便可以为您提供实际的工作配方 .

相关问题