2015-11-05 32 views
0

Sample DataCOUNTIFS与要测试的值是数组

我试图执行基于单元格的值是否将被测试(山口样本数据)一个COUNTIFS函数出现值的阵列中(Excel的样品山口)。

显然做了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。但是我遇到的问题是测试以检查是否在数值数组中,即在这个例子中是否存在单元aa6。

有没有人有任何想法? (除了个别明显的计数,有很多超过两个数值数组中!)

https://docs.google.com/spreadsheets/d/1QYbXwIdFEdjXqlLjF0b0jSusZNuqOMaUKVKZrjR4wko/edit?usp=sharing

回答

0

使用一些不同的组合,我无法找到一个解决这个,大多数的功能我知道需要一个参考单元。

所以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 

,工作正常,但我会很感兴趣的是可以这样做的功能的任何原生的组合!