2016-07-23 7 views
0

私はGoogleシートを持っており、四半期ごとに日付の列を数えたいと思います。例:2015年の第2四半期に表示される日付の数を確認してください。Googleシートで四半期と年の日付をカウントするにはどうすればよいですか?

ただし、Googleスプレッドシートではさまざまな日付をカウントしようとすると問題が発生するようです。

私はこれを行うことができます:

=COUNTIFS(ROUNDUP(MONTH('sheet-label'!B2)/3),1) 

ではなく、この:私は今、仕事をするカスタム関数を構築しようとした

=COUNTIFS(ROUNDUP(MONTH('sheet-label'!B1:B50)/3),1) 

を(「ツール - >スクリプトエディタ」に行くためにGoogleスプレッドシートにカスタム機能を追加する)。私はその機能を下にしようとしました。しかし、まだ正しくカウントすることはできませんが、私は何の誤りもありません。

私が間違っていることや他の可能な解決策を導いていますか?

function countQuarterByYear(date, quarter, year) { 

    var counter = 0; 
    var arrayLength = date.length; 
    var dateYear; 
    var dateQuarter; 
    var dateTemp; 

    for(var i = 0; i < arrayLength; i++) { 

    dateTemp = date[i]; 

    dateYear = dateTemp.getYear; 

    dateQuarter = dateTemp.getMonth; 
    dateQuarter = Math.ceil(dateQuarter/3); 


    if ((dateYear == year) && (dateQuarter == quarter)){ 
    counter++; 
    } 

    } 
    return counter; 

} 

function test() { 
    countQuarterByYear(["2/7/2016", "8/5/2015"], 2, 2015); 

} 

答えて

1

SUMPRODUCTを使用してみてください:年と月の間に*がある

=ARRAYFORMULA(SUMPRODUCT(1*(YEAR('sheet-label'!B1:B50)=2015)*(ROUNDUP(MONTH('sheet-label'!B1:B50)/3,0)=2))) 

'と'。

+0

完璧、ありがとうございます! :) – user11448

関連する問題