Excel公式:如何按星期几统计出包含特定日期的单元格数量

 

220 多个excel快捷键速查表,适用Windows和Mac。工作效率提高10倍。免费下载>>>

下载 “excel快捷键速查表” Excel快捷键速查表.zip – 已下载54次 – 3 MB

Excel公式:按星期几计算日期

通用公式

=SUMPRODUCT((WEEKDAY(dates)=day_num))
概括

要按工作日计算日期(即计算星期一、星期二、星期三等),可以将 SUMPRODUCT 函数与 WEEKDAY 函数一起使用。在所示示例中,F4 中的公式为:

=SUMPRODUCT((WEEKDAY(dates,2)=E4))

注意:“日期”是命名范围B4:B15。

解释

您可能想知道为什么我们不使用COUNTIF或COUNTIFs?这些功能似乎是显而易见的解决方案。但是,如果不添加包含工作日值的帮助器列,则无法为 COUNTIF 创建条件以计算日期范围内的工作日。

相反,我们使用通用的 SUMPRODUCT 函数,它可以优雅地处理数组,而无需使用 Control + Shift + Enter。

我们只使用一个参数使用 SUMPRODUCT,它由以下表达式组成:

(WEEKDAY(dates,2)=E4)

从内到外,WEEKDAY 函数配置了可选参数 2,这导致它分别返回周一到周日的数字 1-7。这使得按 E 列中的数字按顺序列出日期变得更容易。

WEEKDAY 然后评估命名范围“日期”中的每个日期并返回一个数字。结果是这样的数组:

{1;3;7;1;5;2;7;1;7;5;4;7}

然后将 WEEKDAY 返回的数字与 E4 中的值 1 进行比较:

{1;3;7;1;5;2;7;1;7;5;4;7}=1

结果是一个 TRUE/FALSE 值的数组。

{TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE}

SUMPRODUCT 仅适用于数字(不是文本或布尔值),因此我们使用双重否定将 TRUE/FALSE 值强制为一个和零:

{1;0;0;1;0;0;0;1;0;0;0;0}

对于要处理的单个数组,SUMPRODUCT 对项目求和并返回结果 3。

处理空白日期

如果日期列表中有空白单元格,则会得到不正确的结果,因为即使没有日期,WEEKDAY 函数也会返回结果。要处理空单元格,您可以按如下方式调整公式

=SUMPRODUCT((WEEKDAY(dates,2)=E4)*(dates<>“”))

乘以表达式 (dates<>””) 是消除空单元格的一种方法。

220 多个excel快捷键速查表,适用Windows和Mac。工作效率提高10倍。免费下载>>>

下载 “excel快捷键速查表” Excel快捷键速查表.zip – 已下载54次 – 3 MB

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注