ZetCode

Excel WEEKDAY 和 WEEKNUM 函数

最后修改于 2025 年 4 月 4 日

WEEKDAYWEEKNUM 函数是 Excel 中必不可少日期函数。WEEKDAY 返回给定日期的星期几,而 WEEKNUM 返回一年中的周数。本教程提供了一个使用这些函数的全面指南,并附有详细示例。您将学习它们的语法、实际应用和高级技巧。

函数基础

WEEKDAY 识别给定日期的星期几(1-7)。WEEKNUM 计算给定日期的周数(1-53)。这两个函数都支持不同的编号系统。

函数 描述 语法
WEEKDAY 返回星期几 (1-7) =WEEKDAY(date, [return_type])
WEEKNUM 返回周数 (1-53) =WEEKNUM(date, [return_type])

此表显示了两个函数的基本结构。它们将日期作为第一个参数,并将可选的 return_type 用于指定编号系统。

基本 WEEKDAY 示例

此示例演示了 WEEKDAY 的最简单用法,用于查找星期几。

基本 WEEKDAY 公式
=WEEKDAY("2025-04-04")

此公式返回 6,表示星期五(默认系统:1=周日,7=周六)。日期可以输入为文本(如图所示)或包含日期的单元格引用。

不同返回类型的 WEEKDAY

WEEKDAY 通过其可选的第二个参数支持不同的编号系统。此示例显示了各种返回类型。

公式 结果 描述
=WEEKDAY("2025-04-04", 1) 6 1 (周日) 到 7 (周六)
=WEEKDAY("2025-04-04", 2) 5 1 (周一) 到 7 (周日)
=WEEKDAY("2025-04-04", 3) 4 0 (周一) 到 6 (周日)

该表演示了不同的 return_type 值如何影响 WEEKDAY 的输出。系统 1 是默认的,系统 2 在欧洲很常见,而系统 3 是基于零的。

基本 WEEKNUM 示例

此示例演示了 WEEKNUM 的最简单用法,用于查找周数。

基本 WEEKNUM 公式
=WEEKNUM("2025-04-04")

此公式返回 14,表示 2025 年的第 14 周(默认系统:第 1 周包含 1 月 1 日)。与 WEEKDAY 一样,日期可以是文本或单元格引用。

不同返回类型的 WEEKNUM

WEEKNUM 通过其可选的第二个参数支持不同的周编号系统。此示例显示了各种系统。

公式 结果 描述
=WEEKNUM("2025-04-04", 1) 14 周始于周日(默认)
=WEEKNUM("2025-04-04", 2) 14 周始于周一
=WEEKNUM("2025-04-04", 21) 14 ISO 周数(欧洲)

该表显示了 return_type 如何影响 WEEKNUM。类型 1 在美国很常见,类型 2 在欧洲很常见,类型 21 符合 ISO 8601 标准(周始于周一)。

实际应用:工作日识别

此示例使用 WEEKDAY 来识别日期列表中的工作日(周一至周五)。

A (日期) B (日类型)
2025-04-04 =IF(WEEKDAY(A1,2)<6,"工作日","周末")
2025-04-05 =IF(WEEKDAY(A2,2)<6,"工作日","周末")
工作日识别公式
=IF(WEEKDAY(A1,2)<6,"Workday","Weekend")

此公式检查星期几的数字是否小于 6(系统 2 中的周一至周五)。对于工作日,它返回“工作日”,对于周六/周日,它返回“周末”。

实际应用:财年周计算

此示例计算从特定日期开始的财年周数,这对于财务报告周期很有用。

财年周计算
=WEEKNUM(A1,2)-WEEKNUM(DATE(YEAR(A1),4,1),2)+1

此公式计算财年周数,假设财年从 4 月 1 日开始。它从日期的周数中减去 4 月 1 日的周数,然后加 1 以从 1 开始计数。

实际应用:星期几名称查找

此示例将 WEEKDAY 与 CHOOSE 结合使用,以显示星期几的名称而不是数字。

星期几名称公式
=CHOOSE(WEEKDAY(A1),"Sun","Mon","Tue","Wed","Thu","Fri","Sat")

该公式使用 WEEKDAY 获取一个 1-7 的数字,然后 CHOOSE 返回相应的星期几名称。这比仅显示数字更具可读性。

实际应用:ISO 周数

为了严格遵守 ISO 8601 标准,此示例显示了获取 ISO 周数的正确方法。

ISO 周数公式
=WEEKNUM(A1,21)

使用返回类型 21 可获得真正的 ISO 周数,其中第 1 周包含该年的第一个星期四,周始于周一。这对于国际标准很重要。

实际应用:距离下周一的天数

此示例计算从给定日期到下周一还有多少天。

距离下周一的天数
=MOD(8-WEEKDAY(A1,2),7)

该公式计算 8 与星期几的数字(系统 2:1=周一)之间的差值,然后使用 MOD 7 进行正确环绕。如果日期是周一,则返回 0。

WEEKDAYWEEKNUM 函数是 Excel 中日期分析的强大工具。它们有助于安排、报告和处理涉及周期的任何任务。掌握它们不同的编号系统以及与其他函数的组合将极大地增强您的日期相关计算能力。

作者

我叫 Jan Bodnar,我是一名充满激情的程序员,拥有丰富的编程经验。我从 2007 年开始撰写编程文章。迄今为止,我已撰写了 1400 多篇文章和 8 本电子书。我在编程教学方面拥有十多年的经验。

列出 所有 Excel 公式