积极答复者
求解:为何SumProduct函数出现#Value错误

问题
-
尝试制作个人帐簿,第一次使用了Office365提供的模板“个人预算”,然后自定义添加了如下两个公式:
按所选月份统计支出合计值=SUMPRODUCT((TEXT(支出[日期],"e-m")=TEXT(月份,"e-m"))*支出[金额])
按支出分类统计支出额=SUMIFS(支出[金额],支出[分类],INDEX(支出分类,C6))
同样的公式,在根据模板创建的工作表中能正常运作,而在自制的工作表中分别返回#Value和0。这很奇怪,有大神能指导一下么?
参见:pan.baidu。com/s/1UwHHemeiFQ_twapNNTXR9w
- 已编辑 与自己抗争 2018年12月6日 5:07 被插件添加了奇怪的符号进去
答案
-
你好,
首先关于=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.
- 已编辑 Emi ZhangMicrosoft contingent staff, Moderator 2018年12月4日 8:31
- 已标记为答案 与自己抗争 2018年12月6日 5:22
全部回复
-
你好,
首先关于=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.
- 已编辑 Emi ZhangMicrosoft contingent staff, Moderator 2018年12月4日 8:31
- 已标记为答案 与自己抗争 2018年12月6日 5:22
-
感谢您的指导!
整个工作簿中的所有“金额”都是从其他工作簿复制过来的,故而在粘贴时Excel自动保存了¥符号,并使得他们成为了文本。
举例来说:制作的时候想当然以为货币符号¥会自动在计算时被抛弃,但实际上是将“¥1.00”整体视作了一个文本,故而导致了问题。——分割线——
关于函数“=SUMIFS(支出[金额],支出[分类],INDEX(支出分类,C6))”。
该函数中的命名是正确的,在“记账”工作表中,我设计了名为“支出”的“表”,故而在引用时直接引用了名称而无需加入“记账!”的标识符。
而出现#Value错误和0的结果的原因与上面相同,也是由于“金额”列中的值都是“¥ 1.00”而非自动添加“¥”后的“1”。
至此,问题解决。
再次致谢!