假设我在Excel中有一个包含字母的10行(单元格A1到A10)的向量,我想提取字母" X"的出现次数。
这是一个最小的工作示例,显示了我建议解决问题的解决方案:
Sub Macro1()
Range("B1").Activate
ActiveCell.FormulaR1C1 = "=IF(RC[-1]=""X"",1,0)"
Selection.AutoFill Destination:=Range("B1:B10"), Type:=xlFillDefault
Range("B11").Activate
ActiveCell.FormulaR1C1 = "=SUM(R[-10]C:R[-1]C)"
End Sub
基本上,我使用的条件是,如果单元格Ai的内容为" X"则单元格Bi中的结果为1。否则为0。我做了一个自动填充来测试i = 1到10的所有行,然后我总结了结果。
我想要的是自动填充结果不会出现,即我想影响自动填充结果的变量,例如,没有在工作表上显示,然后总和所有单元格的内容(由自动填充产生) )并且仅显示最终结果(总和)。
有办法做到这一点吗?欢迎所有建议。感谢。
答案 0 :(得分:0)
为什么不使用COUNTIF():=COUNTIF(A1:A10,"X")
?
但就你的代码而言:
Sub Macro1()
Range("B11").FormulaR1C1 = "=COUNTIF(R[-10]C[-1]:R[-1]C[-1],""X"")"
End Sub