给定一个日期,如何将星期几(例如“星期一”)输入到 Excel 中的单元格中?
答案1
简单示例:
A1 单元格:1/8/2009
B1 单元格:=TEXT(WEEKDAY(A1),"dddd")
对于给定的日期,这将打印相应的日期。
这就是你所希望的吗?
答案2
上面给出的答案只是偶然成立,因为 Excel 认为 1900 年 1 月 1 日是星期日*,并且默认情况下 Excel 使用星期日作为 Weekday 函数的第一天。
在该方法中,您实际上计算的是将星期几作为数字,然后根据将该数字解释为日期将其格式化为星期几。例如,如果您的日期是 2003 年 1 月 2 日,并且您使用 WEEKDAY 函数,则结果为 7(=星期六)。当您将其格式化为“dddd”时,您实际上得到的是 Excel 中自其“纪元”以来的第 7 天的星期几名称,即 1900 年 7 月 1 日,恰好是星期六*。如果有人打开此公式并选择使用基于 1904 年的日期系统,则此公式将失效,因为 1904 年 1 月 1 日不是星期日,而是星期五。(是的,我知道几乎没有人使用它,但您不想构建一个依赖于它的解决方案,对吗?)
只需使用以下方法,即可使公式更短、更快、更稳健
=TEXT(A1,"dddd")
当然,您可以按照前面的建议,使用自定义格式格式化日期单元格本身,具体取决于您是否真的需要在单独的列中使用它。我经常使用以下日期格式
ddd dd mmm yyyy
给予例如2003 年 2 月 1 日,星期六因此日期是明确的,但也显示了星期几的名称。
如果您想在邮件合并中的某个地方明确使用星期几(例如),则使用第二列和 TEXT 函数是必不可少的,对于货币等内容也是如此。Excel > Word 合并传递的是实际的底层存储值,而不是屏幕上的格式化版本,因此无论单元格格式如何,Word 都会看到一些可怕的数字。真正的文本字段按“原样”传递并在 Word 中正确显示。
*实际上那是星期一,但是 Excel 被编写来匹配 Lotus 1-2-3 中的错误日期,该程序将 1900 年视为闰年,但事实并非如此。
答案3
另一种可能性是,根据您之后想要对日期执行的操作,将单元格的格式设置为自定义:dddd
答案4
您还可以通过在格式前使用 [$nnn] 来本地化答案(因此自定义代码为:[$nnn]dddd;@)。使用适当的语言代码更改 nnn。我没有列表,但不知何故,英语代码是 -409(而我的本地代码是 -421)。
我认为您可以尝试数字格式,更改语言字段,然后将其更改回自定义格式。