求EXCEL VBA程序:在 EXCECL的A1到A5里依次有数据1,3,9,7,6。要在A6里输出这些数据中除以4余1的

数据的个数。最好做成EXCEL自定义函数。... 数据的个数。最好做成EXCEL自定义函数。 展开
 我来答
帐号已注销
2011-05-21 · TA获得超过8616个赞
知道大有可为答主
回答量:3242
采纳率:66%
帮助的人:3146万
展开全部
Public Function iMod4(Res, iRng As Range)
'VBA函数,iRng内,除以4余数为res的个数
Application.Volatile
If iRng.Cells.Count < 1 Then iMod4 = "#iRng": Exit Function
Dim c As Range, n
For Each c In iRng
If c Mod 4 = Res Then n = n + 1
Next
iMod4 = n
End Function
---------
使用公式:
=iMod4(1,a1:c5)
可以求其他的余数,比如求除4余数2的个数:
=iMod4(2,a1:c5)
百度网友87e7e25
2011-05-21 · TA获得超过272个赞
知道小有建树答主
回答量:645
采纳率:0%
帮助的人:280万
展开全部
Sub A()
Dim i As Integer, b As Integer
For i = 1 To 5
If Cells(i, 1).Value Mod 4 = 1 Then
b = b + 1
End If
Next
Cells(6, 1).Value = b
End Sub
追问
这没做成EXCEL自定义函数
追答
Function OK(ByVal TT As Range)
Dim i As Integer, b As Integer
For Each cell In TT
If cell.Value Mod 4 = 1 Then
b = b + 1
End If
Next
OK = b
End Function
把函数复制到模块里吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Ynzsvt
2011-05-21 · TA获得超过6677个赞
知道大有可为答主
回答量:1.5万
采纳率:40%
帮助的人:3175万
展开全部
=COUNTIF(mod((A10:E10),4),"=1")
不知道上面的函数为什么不行。
Function ss1(divi1 As Range) As Integer
Dim r1 As Range
ss1 = 0
For Each r1 In divi1
If r1.Value Mod 4 = 1 Then
ss1 = ss1 + 1
End If
Next r1
End Function

或者用 数组公式
=SUM(N(MOD((A10:E10),4)=1))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式