如何过滤String文本单元格?

时间:2012-07-24 08:44:18

标签: excel excel-2007 excel-formula excel-2003

我希望在工作表的行数未知的情况下使用SUMPROCUT功能。

所以公式是由 = SUMPRODUCT( - F:F, - G:G)写的,按下回车键 #VALUE!出现。

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

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

enter image description here

2 个答案:

答案 0 :(得分: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()将返回列表中最后一个数字的位置,这是我们想要的

灵感发现here但我发现这个技巧非常聪明和聪明:)

答案 1 :(得分:0)

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