Excel:计算包含工作日的单元格

Pow*_*sss 6 microsoft-excel

我在 U 列中有日期列。我将它们更改为“ddd”格式,所以现在它们是 Mon、Tue 等。 截屏

我正在尝试计算Mon单元格U2U1048576. 我试过=COUNTIF(U2:U1048576,Mon)=COUNTIF(U2:U1048576,"Mon")。结果总是 0。我尝试了同样的事情,但搜索了一个数字并且它有效。我如何在工作日做同样的事情?

Sco*_*ner 9

更改格式不会更改值。你的日期对 Excel 来说仍然是数字,只是格式化为显示一个字符串。因此,Excel 找不到字符串。

如果没有辅助列,COUNTIFS() 将无法工作。您需要使用 SUMPRODUCT():

=SUMPRODUCT(--(WEEKDAY(U2:INDEX(U:U,MATCH(1E+99,U:U)))=2))
Run Code Online (Sandbox Code Playgroud)

SUMPRODUCT 是一个数组类型的公式。因此,不应使用完整的列引用。

U2:INDEX(U:U,MATCH(1E+99,U:U))设定参考范围,只有那些与数字。这样它就不会进行不必要的计算。

WEEKDAY() 返回天数 1 = 星期日,2 = 星期一,...

SUMPRODUCT() 将在条件 = TRUE 时计数。将--TRUE 更改为 1,将 FALSE 更改为 0。

  • 此外,如果您想使用一个公式来计算所有工作日,您可以将其更改为 `=SUMPRODUCT(--(WEEKDAY(U2:INDEX(U:U,MATCH(1E+99,U:U)),2 )<6))`。在 `Weekday` 函数中添加 `2` 作为 `return_value` 会改变起点,因此 1=Monday 和 7=Sunday。因此,任何 <6 都是周一至周五。 (2认同)