2013-12-09 84 views
0

比方說,我有一個從A1開始,去對面日期列表...可以使用COUNTIF和範圍值的函數嗎?

1/3/2014 2/5/2014 5/5/2015 8/10/2016 ...

我想某月來算的次數出現在這個範圍內。我目前的解決方案是,它下面的一行只包含=MONTH(x1),其中x是列,然後我呼籲該行一COUNTIF。

我不認爲這是如此糟糕的解決方案,但它確實需要一大堆額外的細胞只是爲了計算月在我的電子表格,這是不爲別的真的有必要。

所以基本上,有沒有辦法做到沿COUNTIF的=東西線(MONTH(範圍),5)來算,例如,在五月發生的次數東西有多少?

回答

4

不,你不能這樣做,COUNTIF功能需要一個範圍內第一個參數 - 對範圍內的任何操作(如使用MONTH功能)將是範圍的數組COUNTIF不接受

可能替代方案是使用SUMPRODUCT例如

=SUMPRODUCT((MONTH(range)=5)+0)

COUNTIFS這樣

=COUNTIFS(range,">="&Z1,range,"<"&EOMONTH(Z1,0)+1)

其中Z1是月份的第一計數,例如1 - 5月 - 2013

當然的SUMPRODUCT版本不考慮當年的(雖然你可以添加在),而COUNTIFS確實

說明

SUMPRODUCT當您使用像MONTH(range)=5返回像{TRUE;FALSE;FALSE;TRUE}TRUE/FALSE值的「陣列」 ....但SUMPRODUCT這裏只總和數字表達,所以我們需要一種方法來「共同ERCE」 TRUE爲1和FALSE爲0。你可以做到這一點與任何數學不改變數值的操作,例如+ 0,* 1也可以添加 - 到前是這樣的:

=SUMPRODUCT(--(MONTH(range)=5))

,所以我們得到類似

=SUMPRODUCT(--({TRUE;FALSE;FALSE;TRUE}))

...這成爲

=SUMPRODUCT({1;0;0;1})

然後SUMPRODUCT總結這些價值得到2,即五月的日期數。

SUMPRODUCT最好SUM純粹是因爲你不需要「數組進入」配方CTRL + SHIFT + ENTER

爲SUMPRODUCT的一個很好的說明,請參見here和它的許多使用

+1

我打算建議一個數組公式,但是sumproduct要好得多。 – gtwebb

+0

當然,一個數組公式是另一種可能性....... –

+1

非常感謝您的答案,一般來說它是有道理的,但是您能否解釋爲什麼在SUMPRODUCT函數的末尾需要「+0」?我的猜測是,這是沿着強制它到你想要的類型(int)的東西。這是正確的還是別的? – Free

相關問題