关于execl 函数A1单元格里的数字是一个变量,可能是1、2、3、3、2.任意数字.我现在要在A2单元格统计出A1单元格中数字2出现的次数,请问该如何设置公式.(肯定要用到循环函数了.即当A1的单元
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/24 04:15:42
关于execl 函数A1单元格里的数字是一个变量,可能是1、2、3、3、2.任意数字.我现在要在A2单元格统计出A1单元格中数字2出现的次数,请问该如何设置公式.(肯定要用到循环函数了.即当A1的单元
关于execl 函数
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
----正常的函数是不能实现的,必须用到宏,自定义编程,才行,对于高手而言这个程序是非常简单的。
关于execl 函数A1单元格里的数字是一个变量,可能是1、2、3、3、2.任意数字.我现在要在A2单元格统计出A1单元格中数字2出现的次数,请问该如何设置公式.(肯定要用到循环函数了.即当A1的单元
这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就行)
使用COUNT函数.
统计包含某个字符的个数
我想编的公式是: a/[84 - (b×4)] 。其中a是一个数值,小于或等于84;b是包含字符C的单元格的个数;C是一个符号。这个公式的关键是要统计出包含字符C的单元格的个数。
方法1:=a/(84-countif(b,"=c")*4)
问题:我试了一下,不能运行,我想是因为没有指定出现“c”的单元格的范围。比如说“c”在D2—D30中随机出现,...
全部展开
统计包含某个字符的个数
我想编的公式是: a/[84 - (b×4)] 。其中a是一个数值,小于或等于84;b是包含字符C的单元格的个数;C是一个符号。这个公式的关键是要统计出包含字符C的单元格的个数。
方法1:=a/(84-countif(b,"=c")*4)
问题:我试了一下,不能运行,我想是因为没有指定出现“c”的单元格的范围。比如说“c”在D2—D30中随机出现,在上述公式中要先统计出出现“c”的单元格的个数。这个公式如何做?
=a/(84-COUNTIF(D3:D30,"c")*4)
收起
你应该把实际遇到的问题说清楚.不要用举例的方法说.也许不一定非要用你举例的方法解决呢?或者你举的例子根本就是个错误呢?我觉得你说的这个函数在EXCEL里面办不到.EXCEL是不会在同一个单元格保留几个结果的.更何谈什么统计这个结果.
如果可以办到,我也急切的想知道.
酒心姐姐真厉害啊!...
全部展开
你应该把实际遇到的问题说清楚.不要用举例的方法说.也许不一定非要用你举例的方法解决呢?或者你举的例子根本就是个错误呢?我觉得你说的这个函数在EXCEL里面办不到.EXCEL是不会在同一个单元格保留几个结果的.更何谈什么统计这个结果.
如果可以办到,我也急切的想知道.
酒心姐姐真厉害啊!
收起
实现不了
如
Sub userDifine()
Dim c$, c2$, i%, k%, l%
c = Range("A1")
l = Len(c)
k = 0
For i = 1 To l
c2 = Left(c, i)
c2 = Right(c2, 1)
If c...
全部展开
Sub userDifine()
Dim c$, c2$, i%, k%, l%
c = Range("A1")
l = Len(c)
k = 0
For i = 1 To l
c2 = Left(c, i)
c2 = Right(c2, 1)
If c2 = "2" Then k = k + 1
Next
Range("A2") = k
End Sub
'只支持个位数,如果出现23之类的数,其中的2会被计入一次。
收起
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
使用COUNT()或者COUNTA()就可以了
Excel 2000也行