我试图“计算”除了第一个“摘要”表单之外的多个工作表上某个日期范围之间的日期数。按照我使用过的其他例子:
=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 - Using COUNTIF/COUNTIFS across multiple sheets/same column - 但我无法弄清楚如何在示例中添加第二组标准,因为我不是VB专家。
提前感谢任何建议。
答案 0 :(得分:0)
尝试使用此mod发布的UDF链接。
编辑:代码已修复,现在可以正常使用。我还添加了&#34;&lt; =&#34;进入函数,所以你需要提供的只是输入日期,而不是其他任何内容。
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,&#34;&gt; = 2015-09-13&#34;,&#34;&lt; = 2015-09-19&#34; )。
答案 1 :(得分:0)
当数据处于良好结构时,更容易获得有关数据的摘要信息。
如果您有一个很长的列表,您可以使用数据透视表获益。有关示例,请参阅here
如果您要将数据带到一个长列表中,这将是一个良好的开端(如果现有表具有相同的结构)。
哈维