作者kunkka (aMao)
看板Office
标题VBA 不同栏位多条件统计问题
时间Fri Sep 22 12:29:12 2017
(若是和其他不同软体互动之问题 请记得一并填写)
软体:EXCEL / VBA
版本:2010
请问各位大大
假设工作表的A栏为日期,B栏位为姓名
我知道怎麽分开计算出A列表同一天日期的栏位个数
也能够统计B列表同一个人的栏位数
比如:
WorkbookFunction.Countif(sheets(1).column(2),"王小华")
但我试了很久就是不知道怎麽统计出
“A栏位符合某一天且B栏位为王小华”的方式T.T
我知道还有一种可行方法是用for循环
for i=1 to xxx
if range("A" & i)=date and range("B" & i) then x=x+1
然後最後回报x的值就好
但总是很困惑逻辑上应该是可以透过count之类的式子找出条件联集栏位才对
我也试过用Sumproduct
但发现虽然在储存格函数中我可以直接写
=sumproduct((A:A="9/21")*1,(B:B="王小华")*1)
就轻易计算出来
但若用VBA来写入同样式子的话则是系统会报错,不知道VBA写法要如何修改
毕竟如果每次要使用程式前都得自己先到工作表手动算出代数值的话好像就失去意义了(
抓头)
请教各位前辈有比较聪明的编写方式吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.136.79.26
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1506054554.A.66A.html
1F:→ soyoso: 将countif改为countifs试试09/22 12:40
感谢建议
我之前有试过这个式子
但参考微软的说明以为是
countifs(范围,条件1,条件2,条件3…)
因而不得其解…
刚刚又再谷歌了一次偶然看到有人提到
正确用法应该是
countifs(范围1,条件1,范围2,条件2…)
_(:3」z)_
竟然成功了!
原来是我理解能力有问题啊……
※ 编辑: kunkka (114.136.79.26), 09/22/2017 15:24:24