我试图避免使用VBA,如果这是可能的,我当然认为它是!
如果满足某个条件,我目前正在尝试总结一个范围。当范围有限且很小时,我的功能起作用,但当我包含实际所需的范围时,我的功能不起作用。以下是一些代码片段:
=SUMIF(B13:M13,P23, B15:M15)
如果B13和M13与P23之间存在任何匹配,则该功能当前从B15到M15相加。它就像一个魅力。如果B13和M13之间存在差异,那么只会对匹配进行求和,这正是我想要它做的。
我希望它涵盖更广泛的范围,所以我改变了我的公式如下:
=SUMIF(B13:M13:B32:M32:B51:M51,P23, B15:M15:B34:M34:B53:M53)
我希望它能像以前那样做同样的事情。我希望它分析B13:M13以及B32:M32以及B51:M51并将其与P23进行比较。如果有匹配,我希望它总和B15:M15以及B34:M34以及B53:M53。如果有不匹配,我希望它们被省略,就像我之前的函数中的情况一样。
谁能告诉我我的配方有什么问题?
答案 0 :(得分:2)
实际上,您的公式=SUMIF(B13:M13:B32:M32:B51:M51,P23, B15:M15:B34:M34:B53:M53)
会转换为=SUMIF(B13:M51,P23, B15:M53)
(例如,您可以使用“公式”功能区中的“评估公式”工具或输入单元格B18
值来检查它, euqals为P23
,另一个值为B20
- 您的公式会将B20
的值添加到结果中。并且它不会计算属性,因为您在B16:M33, B35:M52
因此,您可以使用以下公式:
=SUMPRODUCT((B13:M13=P23)*(B15:M15)+(B32:M32=P23)*(B34:M34)+(B51:M51=P23)*(B53:M53))
以下是评估公式的结果(=SUMIF(B13:M13:B32:M32:B51:M51,P23, B15:M15:B34:M34:B53:M53)
):