Excel 待测试值为数组的CountIf
我正在尝试根据要测试的单元格值(col样本数据是否显示在Excel样本col的值数组中)执行COUNTIFS函数 显然,做一个COUNTIFS很容易:Excel 待测试值为数组的CountIf,excel,countif,Excel,Countif,我正在尝试根据要测试的单元格值(col样本数据是否显示在Excel样本col的值数组中)执行COUNTIFS函数 显然,做一个COUNTIFS很容易: =COUNTIFS( $E$3:$E$13,A6 ,$F$3:$F$13,"<"&EOMONTH($B$3,1), $F$3:$F$13, ">="&DATE(YEAR(B$3),MONTH(B$3),1), $G$3:$G$13, "<12") 其中,函数中的列E等于一个值,在本例中为a6。但我遇到问题
=COUNTIFS( $E$3:$E$13,A6 ,$F$3:$F$13,"<"&EOMONTH($B$3,1), $F$3:$F$13, ">="&DATE(YEAR(B$3),MONTH(B$3),1), $G$3:$G$13, "<12")
其中,函数中的列E等于一个值,在本例中为a6。但我遇到问题的地方是测试以检查值数组中是否存在单元格a5和a6
有人有什么想法吗?除了明显的单独计数外,数组中还有远远不止两个值
我无法用几个不同的组合找到解决方案,我知道的大多数函数都需要一个参考单元格 所以VBA版本:
Function ARRAYMATCHS(RefRng As Range, DataRng As Range, DateRng As Range, RefMonth As String, MonthsRng As Range, Months As Integer)
Dim x As Integer
Dim c As Integer
x = 0
c = 0
For Each cell In DataRng
c = c + 1
If Not IsError(Application.Match(cell.Value, RefRng, 0)) Then
If (MonthsRng(c, 1) > Months) Then
If (Month(DateRng(c, 1)) = RefMonth) Then
x = x + 1
End If
End If
End If
Next cell
ARRAYMATCHS = x
End Function
这很好,但我会对任何本机函数组合感兴趣,可以做到这一点