关于execl 函数

来源:百度知道 编辑:UC知道 时间:2024/09/28 06:50:07
A1单元格里的数字是一个变量,可能是1、2、3、3、2.....任意数字。

我现在要在A2单元格统计出A1单元格中数字2出现的次数,请问该如何设置公式。

(肯定要用到循环函数了。即当A1的单元格数字是2时,A2单元格递增1)
A1单元格的数是变动的,假如现在是2,那么A2的单元格

利用公式if(A1=2,A2+1)可以实现递增1,但是当A1的数变成其他的数时,A2的数也变化了,不能实现统计的效果。

另外用count()函数只能统计已经列出来的数字

------------------------
你应该把实际遇到的问题说清楚.不要用举例的方法说.也许不一定非要用你举例的方法解决呢?或者你举的例子根本就是个错误呢?我觉得你说的这个函数在EXCEL里面办不到.EXCEL是不会在同一个单元格保留几个结果的.更何谈什么统计这个结果.

如果可以办到,我也急切的想知道.
回答者:aeihua - 经理 五级 12-10 11:00

----正常的函数是不能实现的,必须用到宏,自定义编程,才行,对于高手而言这个程序是非常简单的。

呵呵,这200分是我的了,前面的朋友说得太复杂了,其实只要使用IF函数和Excel提供的功能就行了,不需要使用宏或自定义编程一类的方法。

这个要用到Excel的迭代计算功能,可能版本高一点的Excel里面才有,我用的Excel 2003,使用方法如下:
把单元格A2的公式设置如下:
=IF(A1=2,A2+1,A2)
也就是如果A1=2,A2等于A2当前值+1,否则A2等于A2当前值不变。这样就能实现当A1的单元格数字是2时,A2单元格递增1的功能,不过低版本的Excel时这样是会出错的,因为在A2的公式里面引用了A2自己的值,这样的引用属于循环引用,还好高版本的Excel提供了迭代计算的功能,此功能允许使用循环引用,并可设置循环引用的次数,下面是设置迭代计算的方法:

在“工具”菜单上,单击“选项”,再单击“重新计算”选项卡。
选中“迭代计算”复选框。在“最多迭代次数”框中键入迭代次数(你要的这个功能这里要改成 1 就行了)。迭代次数越高,Excel 用于计算工作表的时间越多。
若要设置两次迭代结果之间可以接受的最大误差,请在“最大误差”框中键入所需的数值。数值越小,结果越精确,Excel 用于计算工作表的时间也越多。 (你要的这个功能可以不改这个值,默认的0.001就行)

Sub abc()
Range("B1") = 0
For i = 1 To Len(Range("A1"))
If Mid(Range("A1"), i, 1) = 2 Then
Range("B1") = Range("B1") + 1
End If
Next
End Sub

你应该把实际遇到的问题说清楚.不要用举例的方法说.也许不一定非要用你举例的方法解决呢?或者你举的例子根本就是个错误呢?我觉得你说的这个函数在EXCEL里面办不到.EXCEL是不会在同一个单元格保留几个结果的.更何谈什么统计这个结果.

如果可以办到,我也急切的想知道.

酒心姐姐真厉害啊