是否有公式、函数或函数组合可以对一系列单元格进行求和,其中一些单元格包含数字,一些单元格包含表示数字的文本?换句话说,我们如何在一个公式中将一系列单元格中的文本转换为数字,然后对该一系列单元格执行求和,而无需使用 VBA?
例如,我有一个范围 F11 到 G11,并且 F11 具有文本其中有“43”,而G11有数字2。如何使用公式使总和(F11:G11)达到 45 而不是 2 ?
答案1
答案2
据我所知,没有内置公式可以做到这一点。
您可以取一个中间范围,将文本转换为中间范围内的数字。
使用函数 ISNUMBER 确定单元格中的内容。如果不是数字,则转换;如果是数字,则不转换。
然后对中间范围求和。
这是一个简单的概念,无需 VBA 即可运行。
正如我所说,据我所知,没有内置的 Excel 公式可以精确地完成您想要的操作。
答案3
找到答案了。为了避免使用数组(在较旧的 Excel 中需要手动按 ctrl-shift-enter),SUMPRODUCT
应使用函数而不是函数SUM
。然后可以将范围内的所有值乘以 1(或用“--”双重否定),以在求和之前将它们转换为数字:
=SUMPRODUCT(1*F11:G11)
或者:
=SUMPRODUCT(--F11:G11)
因此@Ron Rosenfeld 的建议确实是答案,但对于较旧的 Excel 来说,请使用SUMPRODUCT
而不是SUM
。
它的工作无需人工干预!如果范围随时间而变化(就像我的情况一样),则通过适当使用OFFSET
函数来定义动态范围。