簡體   English   中英

Excel-使用COUNTIFS在多個工作表中的特定范圍內計算日期

[英]Excel - Using COUNTIFS to count dates within a certain range across multiple sheets

我正在嘗試“計數”多個工作表(第一個“摘要”工作表除外)中某個日期范圍內的日期數。 以下是我使用的其他示例:

=COUNTIFS('CWP-A1-Inst'!S7:S51,">=2015-09-13" _ 
         ,'CWP-A1-Inst'!S7:S51,"<=2015-09-19") _ 
+ COUNTIFS('CWP-A2-Inst'!V7:V51,">=2015-09-13" _ 
          ,'CWP-A2-Inst'!V7:V51,"<=2015-09-19") _ 
+ COUNTIFS('CWP-A3-Inst'!T7:T50,">=2015-09-13" _ 
          ,'CWP-A3-Inst'!T7:T50,"<=2015-09-19")

這種方法有效,但是我有28個工作表,75個日期范圍(每個星期從星期日開始,以周六結束一年以上)和7個費用代碼來填寫。 永久更改所有這些都是永久性的。

我還嘗試了另一個示例中建議的UDF -Excel-在多個工作表/同一列中使用COUNTIF / COUNTIFS-但是我無法弄清楚如何在示例中添加第二組條件,因為我絕對不是VB專家。

預先感謝您的任何建議。

試試這個mod到發布的UDF鏈接。

編輯:代碼已修復,現在可以使用。 我還在函數中添加了“ <=”,因此您所需要提供的只是輸入日期,沒有其他內容。

Function myCountIf(rng As Range, startDate as Variant, endDate as Variant) As Long
    Dim ws As Worksheet

    For Each ws In ThisWorkbook.Worksheets
        myCountIf = myCountIf + WorksheetFunction.CountIf(ws.Range(rng.Address), "<=" & endDate) - WorksheetFunction.CountIf(ws.Range(rng.Address), "<=" & startDate)
    Next ws
End Function

對於startDate和endDate,請輸入您的條件,例如= myCountIf(A:A,“> = 2015-09-13”,“ <= 2015-09-19”)。

當數據處於良好的結構中時,更容易獲得有關數據的摘要信息。

如果您有一個很大的長列表,則可以使用樞軸表受益匪淺。有關示例,請參見此處

如果要將數據放入一個長列表中,這將是一個不錯的開始(如果現有表具有相同的結構)。

哈維

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM