...当引用求和区域为公式的时候怎么让其正确计算而不是显示0值?_百度...

发布网友

我来回答

4个回答

热心网友

你提到的公式中,使用了 INDIRECT 和 SUMIF 来遍历工作表并求和,但遇到的问题是公式引用的区域含有公式时,结果显示为 0。这可能是由于 Excel 中 SUMIF 对某些公式计算的中间结果处理不一致,特别是如果 INDIRECT 引用了动态工作表和区域。

解决思路:

首先,确保 INDIRECT 函数正确指向了工作表和区域。其次,公式中的问题可能是由于 Excel 在处理公式计算结果时未能正确引用公式生成的数值。你可以通过以下方法来解决这个问题。

方法1:使用 N() 函数转换引用结果

有时候 Excel 会忽略引用公式计算生成的数值。你可以使用 N() 函数将引用结果显式地转换为数值。调整你的公式为:

excel复制代码=SUMPRODUCT(SUMIF(INDIRECT(SH&"!F4:F83"), E3, N(INDIRECT(SH&"!O4:O83"))))

这里 N() 函数会确保 INDIRECT 引用的区域中的结果作为数值被正确处理,而不是忽略或视为文本。

方法2:检查单元格格式

确保 F4:F83 和 O4:O83 区域的单元格格式为数字格式,而不是文本格式。有时候,单元格格式问题会导致 Excel 将公式结果视为文本而不是数值,导致求和结果错误。

方法3:用 ARRAYFORMULA 或 SUMPRODUCT 直接计算

如果上述方法仍然不解决问题,你可以尝试简化或直接使用 SUMPRODUCT 来处理多区域求和。SUMPRODUCT 可以直接计算数组中的值,无需 SUMIF 的帮助:

excel复制代码=SUMPRODUCT((INDIRECT(SH&"!F4:F83")=E3) * N(INDIRECT(SH&"!O4:O83")))

该公式的逻辑是:

INDIRECT(SH&"!F4:F83")=E3 会返回一个与 E3 相匹配的布尔数组(匹配的为 TRUE,不匹配的为 FALSE)。

N(INDIRECT(SH&"!O4:O83")) 会确保 O4:O83 区域中的公式结果被转换为数值。

SUMPRODUCT 会将匹配的单元格值求和。

总结

尝试以上方法可以有效解决 SUMIF 在引用公式结果时显示 0 的问题,确保公式结果被正确识别为数值并参与求和。

热心网友

没看明白SH是什么意思,指表2的表名么,如果SH不是针对单元格的引用,而是字符,是要用在引号里的,INDIRECT("SH!F4:F83"),再说,为什么不直接用这个公式呢:
=SUMIF(SH!F4:F83,E3,SH!O4:O83)

热心网友

可能是因为当 O4:O83 区域单元格为公式时,公式未正确计算导致求和结果为 0。可以尝试以下方法:
1. 确保 O4:O83 区域中的公式本身是正确的且能正常计算出结果。
2. 检查 INDIRECT 函数引用的工作表名称(SH 的值)是否正确。
3. 确认 SUMIF 函数的条件判断(E3 单元格内容)是否准确匹配表 2 中的数据。
4. 如果可能,可以尝试将 O4:O83 区域中的公式转换为值,然后再进行求和操作,可使用复制粘贴为值的方法。
5. 检查公式中的引用范围是否正确,确保没有超出工作表的有效范围。

热心网友

在Excel中,当您使用SUMIF函数来引用包含公式的单元格区域时,可能会遇到求和结果为0的问题,这是因为SUMIF函数在计算时会忽略包含公式的单元格。这是因为Excel在执行SUMIF函数时,会尝试计算公式的结果,但由于公式结果依赖于外部引用,它可能无法正确计算,从而导致求和结果为0。

要解决这个问题,您可以尝试以下几种方法:

1. **使用数组公式**:
- 由于SUMIF函数的计算结果是数组,您可以尝试将SUMIF函数与SUMPRODUCT函数结合使用,这样就可以直接计算包含公式的单元格的值。

2. **使用SUM函数**:
- 您可以尝试直接使用SUM函数,然后使用INDEX和MATCH函数来找到包含公式的单元格,并计算其值。

3. **调整公式结构**:
- 尝试调整公式的结构,使其更易于理解和计算。例如,将公式拆分为多个部分,或者使用更简单的逻辑来代替SUMIF函数。

4. **使用其他函数**:
- 考虑使用其他函数或方法来实现相同的功能,例如使用VLOOKUP函数查找匹配的值,然后使用SUM函数求和。

5. **检查公式引用**:
- 确保公式中的引用是正确的,并且没有遗漏或错误的单元格。

6. **使用数据验证**:
- 如果您的工作表中有固定的数据范围,可以考虑使用数据验证来单元格内容的输入,从而减少错误。

7. **使用辅助列**:
- 创建一个辅助列,在其中输入公式,然后再使用SUMIF函数来引用这个辅助列,这样可以避免直接引用包含公式的单元格。

如果您需要具体的公式示例,请提供更多的上下文信息,例如您的工作表结构和其他相关数据,我将能够提供更具体的帮助。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com