我非常接近用this answer given by "barry houdini"来解决我的问题但是我遇到了将其纳入我的需求的问题。
=SUMPRODUCT(VALUE(0&SUBSTITUTE(A1:A8,"*","")))
编辑#3 - @Rory 为解决我的问题提供了非常好的答案。但我没想到的是,如果在单元格内输入非数值,则公式会返回错误。所以我真的想将以下公式调整为忽略字母“x”,或非数字值(如果这更容易):
-
ActiveCell.FormulaR1C1 = "=SUMPRODUCT(VALUE(0&SUBSTITUTE(INDIRECT(""R10C:R[-1]C"",FALSE),""s"","""")))"
Dim Cell As Range
For Each Cell In Range("all_cells")
Cell.Formula = Range("one_cell").Formula
Next
我现在要做的是编写一个VBA脚本来总结一个动态范围,并且包括在它们后面有“S”的值但不会失败或者在任何其他字母上返回错误。最重要的是字母“x”。
在设置了第一个公式之后,我想将该公式自动填充到右侧;停在一个已知的栏目上。
结束编辑
为了历史和其他谷歌搜索,这里是我在使用“s”和“x”之前使用的原始代码。
ActiveCell.FormulaR1C1 = _
"=SUM(INDIRECT(ADDRESS(10,COLUMN())&"":""&ADDRESS(ROW()-1,COLUMN())))"
这样做基本上是从一个设置行(第10行)汇总,并在具有此公式的单元格之前的行上停止汇总。
我想要达到的例子:“3 + 4 S +2 + x = 9” ;而不是“= 5”或“##”
答案 0 :(得分:0)
我终于解决了我的问题! 我意识到嵌套替代公式可能是一个很好的解决方案,经过几次错误后我才意识到范围只需要提一次,瞧!瞧!
ActiveCell.FormulaR1C1 = "=SUMPRODUCT(VALUE(0&SUBSTITUTE(0&SUBSTITUTE(INDIRECT(""R10C:R[-1]C"",FALSE),""s"",""""),""x"","""")))"