![](/img/trans.png)
[英]Excel - Using COUNTIF/COUNTIFS across multiple sheets/same column
[英]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.