2

我想在工作表的行数未知的情况下使用 SUMPROCUT 函数。

因此公式由=SUMPRODUCT(--F:F,--G:G)编写,在按下 Enter 键后#VALUE! 出现。

我意识到列名是字符串类型,但它们被包含在计算中,这可能是问题所在。
如何避免 SUMPRODUCT 函数中的字符串文本?或者你有更聪明的方法,请帮忙。提前致谢!

[更新 - 截图 & 原始要求]
客户问我一个公式来计算总和(F 列 * G 列),例如 10*470 + 5*350 + 5*5.5 + 25*180 + 4*48 + 6*15 + 80*4.5 + 70*5.44,我不知道他们的工作表中有多少行导致他们想要一个通用公式来处理所有的excel文件

在此处输入图像描述

4

2 回答 2

1

这是一个尝试:

=SUMPRODUCT($F2:INDEX($F:$F,MATCH(9.9999E+307,$F:$F)), $G2:INDEX($G:$G,MATCH(9.9999E+307,$G:$G)))

前提是您的值在同一行结束。

一些解释:

  • index()可以返回一个引用以及一个值(我们在这里使用它作为引用)
  • 9.9999E+307 是一个技巧- 基本上,如果你在一个数字范围内寻找一个大于任何数字的数字(& 9.9999E+307 大约是 excel 可以处理的最大数字,所以在大多数情况下都有效),match()将返回列表中最后一个数字的位置,这就是我们想要的

在这里找到了灵感,但我发现这个技巧非常聪明和聪明:)

于 2012-07-24T10:44:17.627 回答
0

只需使用=SUMPRODUCT(F:F,G:G) (即,没有--

于 2012-07-24T10:49:35.720 回答