如何计算 Numbers 中与给定月份匹配的单元格数量

如何计算 Numbers 中与给定月份匹配的单元格数量

我正在使用 Apple 数字对来自 Mailchimp 的 CSV 导出数据进行一些计算。

数据大致如下:

ID   Email,           SignupAt
01   [email protected]   2015-09-04
02   [email protected]  2015-09-05
03   [email protected]  2015-09-06
04   [email protected]  2015-10-04

我有另一个表,我想按数字计算该表中的记录数。例如:

                 September 2015 December 2015
New Subscribers:              3             1

我在电子表格中尝试了以下公式(及其各种变体),但仍然得到答案0

=COUNTIF(TableA:SignupAt, (MONTH(TableA:SignupAt)=MONTH(B1) & YEAR(TableA:SignupAt)=YEAR(B1)

(其中 B2 是包含日期的表 B 的列标题September 2015

计算这些记录的正确公式是什么?

答案1

有一个简单的解决方案,使用真值和假值。

=SUM((MONTH(TableA:SignupAt)=MONTH(B1))*(YEAR(TableA:SignupaAt)=YEAR(B1)))

这是有效的,因为只有 TRUE*TRUE = 1 并且所有其他组合都返回 0。所以它会计算两个条件都为真的单元格。

另外这是一个数组公式,因此填写后必须按 Ctrl+Shift+Enter。

答案2

您必须AND在公式中使用 而不是&,如下所示:

=COUNTIF(TableA!C1:C4,AND(MONTH(TableA!C1:C4)=MONTH(B2),YEAR(TableA!C1:C4)=YEAR(B2))    

这是一个数组公式,同时按下Ctrl++ 。ShiftEnter

您也可以使用另一个公式:

=SUMPRODUCT((--YEAR(TableA!C1:C4)=YEAR(B2))*(--MONTH(TableA!C1:C4)=MONTH(B2)))

再次,你必须按Ctrl++ShiftEnter

其中 C1:C4 是 SignupAt 列,B2 是包含日期 2015 年 9 月的表 B 的列标题。

确保两个表中的日期格式是 Excel 可以理解的。

答案3

您可以使用简单的数据透视表来接近您想要的结果。但它不会自动更新。

在此处输入图片描述

如果您想使用一个公式,在 B9 中输入您想要的月份/年份,并将其作为该月的 1 号,格式化为如您所显示的那样显示,然后使用:

=COUNTIFS(TableA[SignupAt],">="&B9,TableA[SignupAt],"<="&EOMONTH(B9,0))

如果 B9 中的日期不一定是该月的第一天,而是该月中的某个随机日期,则以下公式将起作用:

=COUNTIFS(TableA[SignupAt],">"&B9-DAY(B9),TableA[SignupAt],"<="&EOMONTH(B9,0))

B9-DAY(B9)将始终返回前一个月的最后一个日期。

相关内容