在excel里想把日期转换成星期,最快的方法就两个:要是想单独生成一列纯文字的星期结果,直接用text函数就行;要是不想动原数据,只让现有日期单元格直接显示成星期,用「设置单元格格式」功能就搞定。本次演示用的是microsoft 365版本的excel,接下来咱们就对着实际的日期列一步步操作:先提前说清楚,公式法出来的结果是「星期四」这种纯文本,格式法不会改单元格里原本的日期数值。
第一步:输入TEXT公式
你先点日期旁边的空白单元格,输入=TEXT(C12,"aaaa"),按个回车就能把C12单元格里的日期转成星期文本。中文Excel里也有人习惯写=TEXT(A2,"dddd"),不过这两种写法能不能直接出中文星期,得看你系统当前的区域设置;要是跑出来是Wednesday这类英文结果,直接换成=TEXT(A2,"[$-zh-CN]aaaa")就稳了。

第二步:向下填充结果
选中刚出结果的第一个单元格,拽住单元格右下角的小填充柄往下拖,公式就自动复制下去了。如果你的日期范围是C12:C19,拖完之后下面的公式会自动对应到C13、C14这些单元格,每一行都会匹配自己那行的日期,不会所有结果都绑在同一个日期上。

第三步:打开日期格式入口
第二招适合不想额外加辅助列、只想改显示样式的情况。你先选中所有要显示成星期的日期单元格,在顶部「常用」选项卡点开数字格式的下拉菜单,选「其他数字格式」进入详细设置。这个方法最大的好处是,单元格底层存的还是原来的日期,之后不管是排序、筛选还是拿去做计算,都不会变成没法运算的普通文本。

第四步:填写自定义格式
在弹出来的「设置单元格格式」窗口里切到「数字」标签页,选左边的「自定义」,在类型输入框里填aaaa或者dddd,点确定就生效了。要是只想显示「周三」这种短格式的星期,可以填aaa或者ddd;想让原始日期和星期一起显示,直接用yyyy/m/d aaaa这类组合格式就行。

TEXT函数语法和参数
TEXT的语法是=TEXT(value,format_text),作用是把数值或者日期按指定规则转成文本,特别适合做报表展示列、导出说明列,或者跟其他文字拼在一起用。
| 参数 | 是否必填 | 写法示例 | 说明 |
|---|---|---|---|
value |
必填 |
A2、DATE(2026,8,3)
|
要转换的日期值或日期所在单元格。 |
format_text |
必填 |
"aaaa"、"dddd"、"[$-zh-CN]aaaa"
|
用双引号包住的显示格式,决定输出星期几、周几或带日期的文本。 |
常用的扩展示例大家可以直接改单元格引用:=TEXT(A2,"aaaa")输出完整星期;=TEXT(A2,"aaa")输出短格式星期;=TEXT(A2,"yyyy/m/d aaaa")同时显示日期和星期;="发货日:"&TEXT(A2,"yyyy年m月d日 aaaa")适合把日期拼进说明文字里。
常见错误怎么处理
要是跑出来的结果是英文星期,大多是区域设置或者格式代码不匹配的问题,换成带[$-zh-CN]前缀的格式代码就行。如果公式返回#VALUE!报错,先检查你选的「日期」是不是本质上是文本格式的假日期,可以选中整列日期把格式改成标准日期,或者用DATEVALUE把它转成真正的日期序列值。要是输完公式,单元格直接把公式原封不动显示出来,一般是单元格之前被设成了「文本」格式,改回「常规」之后重新输一遍公式就好了。
如果之后你还要按星期统计数量,别光靠文本格式的结果,可以用=WEEKDAY(A2,2)得到1到7的数字,这里1对应星期一,7对应星期日。要是只是想给表格加个能直接读的星期列,用TEXT函数最省事;想保留原始日期的属性,只改显示样式,自定义单元格格式的方法更清爽。











