Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2502|回复: 8

[已解决]在excel表中,求多行奇数个数,把个数填在G列。谢谢

[复制链接]
发表于 2013-11-3 21:27 | 显示全部楼层 |阅读模式
在excel表中,求多行奇数个数,把个数填在G列。谢谢
最佳答案
2013-11-3 21:37
  1. Sub test()
  2. Dim arr(), brr(), i&, j&, counter&
  3. arr = Range("A1").CurrentRegion.Value
  4. ReDim brr(1 To UBound(arr))
  5. For i = 1 To UBound(arr)
  6.   For j = 1 To UBound(arr, 2)
  7.     If arr(i, j) Mod 2 = 1 Then counter = counter + 1
  8.   Next
  9.   brr(i) = counter
  10.   counter = 0
  11. Next
  12. Range("G1").Resize(UBound(brr)) = Application.Transpose(brr)
  13. End Sub
复制代码

求多行奇数个数.rar

11.4 KB, 下载次数: 17

发表于 2013-11-3 21:30 | 显示全部楼层
本帖最后由 我心飞翔410 于 2013-11-3 21:37 编辑

每行的基数放在一列么

求多行奇数个数.rar

11.85 KB, 下载次数: 2

评分

参与人数 1 +3 收起 理由
ymq123 + 3

查看全部评分

回复

使用道具 举报

发表于 2013-11-3 21:37 | 显示全部楼层    本楼为最佳答案   
  1. Sub test()
  2. Dim arr(), brr(), i&, j&, counter&
  3. arr = Range("A1").CurrentRegion.Value
  4. ReDim brr(1 To UBound(arr))
  5. For i = 1 To UBound(arr)
  6.   For j = 1 To UBound(arr, 2)
  7.     If arr(i, j) Mod 2 = 1 Then counter = counter + 1
  8.   Next
  9.   brr(i) = counter
  10.   counter = 0
  11. Next
  12. Range("G1").Resize(UBound(brr)) = Application.Transpose(brr)
  13. End Sub
复制代码

评分

参与人数 1 +3 收起 理由
ymq123 + 3

查看全部评分

回复

使用道具 举报

发表于 2013-11-3 21:44 | 显示全部楼层
本帖最后由 xdragon 于 2013-11-3 21:46 编辑

再给  你个方法。。。
  1. Sub test()
  2. Dim arr(), brr(), i&, j&, counter&
  3. arr = Range("A1").CurrentRegion.Value
  4. ReDim brr(1 To UBound(arr))
  5. Set d = CreateObject("scripting.dictionary")
  6. For i = 1 To UBound(arr)
  7.   For j = 1 To UBound(arr, 2)
  8.     If arr(i, j) Mod 2 = 1 Then brr(i) = brr(i) + 1
  9.   Next
  10. Next
  11. Range("G1").Resize(UBound(brr)) = Application.Transpose(brr)
  12. End Sub
复制代码
回复

使用道具 举报

发表于 2013-11-3 21:50 | 显示全部楼层
xdragon 发表于 2013-11-3 21:44
再给  你个方法。。。

求奇数的方法有很多,不用工作表函数也可以的,像:
  1. -1^ar(i,1)<0
复制代码
回复

使用道具 举报

发表于 2013-11-3 21:54 | 显示全部楼层
G1输入数组公式,下拉
  1. =SUM(N((-1)^A1:E1<0))
复制代码

点评

偶滴神  发表于 2013-11-3 22:42
-1外面的括号省了试试?  发表于 2013-11-3 22:10

评分

参与人数 1 +3 收起 理由
ymq123 + 3

查看全部评分

回复

使用道具 举报

发表于 2013-11-3 22:10 | 显示全部楼层
CheryBTL 发表于 2013-11-3 21:50
求奇数的方法有很多,不用工作表函数也可以的,像:

{:21:}mod 是vba的函数啊
回复

使用道具 举报

发表于 2013-11-3 22:12 | 显示全部楼层
xdragon 发表于 2013-11-3 22:10
mod 是vba的函数啊

工作表和VBA都有,省了速度更快一些吧 {:1012:}
回复

使用道具 举报

发表于 2013-11-3 22:16 | 显示全部楼层
CheryBTL 发表于 2013-11-3 22:12
工作表和VBA都有,省了速度更快一些吧

下次试试看速度。。。我感觉都是数学运算,应该速度是一样的。。。>_<
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-26 09:08 , Processed in 0.479417 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表