如何按指定年月自动填充表格列标题为日期?
Google Sheets 日期列标题自动生成解决方案
针对你需要在团队岗位管理表中,根据A1的年份、A2的下拉月份自动生成【星期名称-日】格式列标题的需求,修正后的可行方案如下:
可用公式
在目标起始单元格(例如B1)输入:
=IF(AND(A1<>"",A2<>""),ARRAYFORMULA(TEXT(SEQUENCE(1,DAY(EOMONTH(DATE(A1,MONTH(A2&"1"),1),0)),DATE(A1,MONTH(A2&"1"),1)),"AAAA-d")),)
公式说明
DATE(A1,MONTH(A2&"1"),1):基于A1年份和A2月份生成当月首日日期,A2&"1"是为了让MONTH()函数能识别文本格式的月份名称EOMONTH(...,0):获取当月最后一天,DAY()提取当月总天数,作为横向序列的列数SEQUENCE(1, 天数, 第一天):生成横向的完整日期序列TEXT(..., "AAAA-d"):将日期转换为【星期全称-日】格式,若需星期简称,替换为AAA-d即可IF(AND(A1<>"",A2<>""), ...):仅当A1(年份)和A2(月份)均有内容时才生成序列,避免空值报错
注意事项
- 确保A2的下拉列表选项为完整月份名称(如“一月”“二月”),否则
MONTH()函数无法正确识别月份数值 - 若A2使用英文月份名,将格式代码
AAAA-d改为dddd-d(英文星期全称),AAA-d改为ddd-d(英文星期简称)
内容的提问来源于stack exchange,提问作者Kaemyll_DGA
相关产品推荐
相关产品推荐

