统计某个字符串每月出现的次数

Count the number of time a string occurs per month

在我的公司,我们为我们发布的每份报告和文件登记序列号。这些是通过在一栏 (A) 中输入您的姓名,然后在另一栏 (B,格式为 dd/mm/yyyy) 中添加拍摄日期来预订的。即它看起来如下所示:

(A) (B) Initials Date A. Mustermann 16.03.2016 B. Mustermann 17.03.2016

根据使用的类型,编号范围很广,每个月都需要进行完整的细分,说明谁取出了哪种类型的序列号以及其中的数量。这个我已经嫁接到一个table,另一个sheet,只需要一种方法来读取sheet并打印相应的数字。像这样;

        (A)       (B)      (C)
              Serial 1  Serial 2    etc…
A. Mustermann           
B. Mustermann 

理想情况下,这应该避免使用宏,因为许多人在不同的软件版本上使用此文件。我尝试使用 CountIfs 函数并使用 Month 函数绘制月份的数字并将其与设置字段中的数字匹配,这样您只需更改该字段即可更新统计信息。

我尝试使用:COUNTIFS('Sheet1'!A:A;A29;Month('Sheet1'!B4:B500);V2)

其中 sheet1 是初始序列日志 sheet,A29 是统计页面上确实出现在 A:A 范围内的示例字符串,V2 是月份编号,即 3 月。我想知道 A.Mustermann 在 3 月份有多少次取出 Serial Type 1。这就是这个任务的目的。上面的函数确实识别所有输入,即范围,甚至能够识别每个日期的月份,但由于某种原因它无法将两个数字匹配在一起并获得最终答案。

感谢所有帮助。

谢谢

试试下面的和积公式。它基本上是在计算 A 列中的某项出现的次数,同时 B 列中针对不同条件的匹配项。

=SUMPRODUCT(--($A:$A=F2)*--(MONTH($B:$B)=G2))

公式中作为条件检查的部分出现在 --

之后的括号内
 ($A:$A=F2)

我们使用 -- 将得到的真假结果转换为数字 1 或 0。

* 执行 AND 语句的工作。因此,您实际上可以放入多个支票,只要它们每个都由 * 分隔并且 --() 中的部分计算结果为真或假。最后一个问题是范围的长度必须相等。

所以在上面的示例中,A2:A9 是一个包含名称的范围,而 B2:B9 是一个包含日期的范围,如您的第一个示例数据中所示。 F2 是我正在检查匹配的名称的单元格,单元格 G2 是包含要匹配的一个月的数字的单元格。

       (A)              (B)
(1)    Initials         Date
(2)    A. Mustermann    16/03/16
(3)    B. Mustermann    16/03/17
(4)    A. Mustermann    16/03/18
(5)    B. Mustermann    16/04/19
(6)    A. Mustermann    16/03/20
(7)    B. Mustermann    16/03/16
(8)    A. Mustermann    16/05/22
(9)    B. Mustermann    16/03/16

       (F)                 (G)
(1)    name                Month
(2)    A. Mustermann       3

我遇到的问题是,根据您的问题,序列号 1 如何适用于所有内容。现在,上面的等式将只计算 a 列中名称旁边带有匹配月份的名称的次数。希望这会为您指明正确的方向。