none
求解:为何SumProduct函数出现#Value错误 RRS feed

  • 问题

  • 尝试制作个人帐簿,第一次使用了Office365提供的模板“个人预算”,然后自定义添加了如下两个公式:

    按所选月份统计支出合计值=SUMPRODUCT((TEXT(支出[日期],"e-m")=TEXT(月份,"e-m"))*支出[金额])
    按支出分类统计支出额=SUMIFS(支出[金额],支出[分类],INDEX(支出分类,C6))


    同样的公式,在根据模板创建的工作表中能正常运作,而在自制的工作表中分别返回#Value和0。

    这很奇怪,有大神能指导一下么?

    参见:pan.baidu。com/s/1UwHHemeiFQ_twapNNTXR9w 


    • 已编辑 与自己抗争 2018年12月6日 5:07 被插件添加了奇怪的符号进去
    2018年12月3日 8:45

答案

  • 你好,

    首先关于=SUMPRODUCT((TEXT(D13:D17,"e-m")=TEXT(月份,"e-m"))*C13:C17)这个公式返回#VALUE!这个错误的原因是你的C13:C17这些单元格中的金额是以一个TEXT的格式存在的,当你将他们转换成NUMBER格式的时候,就可以得到正确的值:

    关于=SUMIFS(支出[金额],支出[分类],INDEX(支出分类,C6))这个函数,你的表格中的单元格命名非常乱,没有一个叫金额的命名,也没有叫支出的工作表。这个地方需要你自己梳理下,将你的条件跟你想要得到的值写出来,我可以帮你将这个公式修改完整。

    此致,

    敬礼

    Emi Zhang


    如果以上回复对您有所帮助,建议您将其“标记为答复”. 如果您对我们的论坛支持有任何的建议,可以通过此邮箱联系我们:tnsf@microsoft.com.

    点击了解更多,或者访问我们的专用论坛,与我们的技术专家一起分享探索 Microsoft Teams. 


    2018年12月4日 8:31
    版主

全部回复

  • 你好,

    首先关于=SUMPRODUCT((TEXT(D13:D17,"e-m")=TEXT(月份,"e-m"))*C13:C17)这个公式返回#VALUE!这个错误的原因是你的C13:C17这些单元格中的金额是以一个TEXT的格式存在的,当你将他们转换成NUMBER格式的时候,就可以得到正确的值:

    关于=SUMIFS(支出[金额],支出[分类],INDEX(支出分类,C6))这个函数,你的表格中的单元格命名非常乱,没有一个叫金额的命名,也没有叫支出的工作表。这个地方需要你自己梳理下,将你的条件跟你想要得到的值写出来,我可以帮你将这个公式修改完整。

    此致,

    敬礼

    Emi Zhang


    如果以上回复对您有所帮助,建议您将其“标记为答复”. 如果您对我们的论坛支持有任何的建议,可以通过此邮箱联系我们:tnsf@microsoft.com.

    点击了解更多,或者访问我们的专用论坛,与我们的技术专家一起分享探索 Microsoft Teams. 


    2018年12月4日 8:31
    版主
  • 感谢您的指导!

    整个工作簿中的所有“金额”都是从其他工作簿复制过来的,故而在粘贴时Excel自动保存了¥符号,并使得他们成为了文本。
    举例来说:制作的时候想当然以为货币符号¥会自动在计算时被抛弃,但实际上是将“¥1.00”整体视作了一个文本,故而导致了问题。

    ——分割线——

    关于函数“=SUMIFS(支出[金额],支出[分类],INDEX(支出分类,C6))”。

    该函数中的命名是正确的,在“记账”工作表中,我设计了名为“支出”的“表”,故而在引用时直接引用了名称而无需加入“记账!”的标识符。

    而出现#Value错误和0的结果的原因与上面相同,也是由于“金额”列中的值都是“¥ 1.00”而非自动添加“¥”后的“1”。

    至此,问题解决。
    再次致谢!


    2018年12月6日 5:22