← 博客 · · ConvertCaseHQ 团队 · 阅读约需 6 分钟

Excel、Google 表格和 Word 的大小写转换方法

在 Excel 和 Google 表格里,转换文本大小写要用三个函数:=UPPER(A2)、=LOWER(A2) 和 =PROPER(A2),先在辅助列里输入,再以值的形式粘贴回去。在 Microsoft Word 里,选中文本后按 Shift+F3,就能在全部小写(lowercase)、全部大写(UPPERCASE)和每个单词首字母大写(Capitalize Each Word)之间循环切换;也可以用 Home(开始)选项卡上的 Change Case(更改大小写)按钮,它还提供 Sentence case(句首大写)和 tOGGLE cASE(大小写反转)。

多数情况这就够了。本文接下来讲的是容易出错的情形,先从 PROPER 说起,它对撇号的处理很奇怪;然后是每周都要重复同样清理工作时更好的选择。

Excel 和 Google 表格中的 UPPER、LOWER 与 PROPER

这三个函数在两个程序里的用法相同。每个函数接收一段文本,返回转换后的副本,都不会改动原来的单元格。常用的流程是:

  1. 在数据旁边插入一列空列。
  2. 在第一行输入 =PROPER(A2)(或 UPPER、LOWER),然后向下填充。
  3. 复制新列,用 Paste Special(选择性粘贴)中的 Values(值)粘贴到原列上,这样保留文字,去掉公式。
  4. 删除辅助列。

在 Microsoft 365 版 Excel 里可以省掉填充这一步:=PROPER(A2:A500) 会把结果自动溢出到整列。在 Google 表格里,则要把区域包在 ARRAYFORMULA 里:=ARRAYFORMULA(PROPER(A2:A))。

两个程序都没有句首大写函数。下面这个公式会把单元格的首字母大写,其余全部小写:

=UPPER(LEFT(A2,1)) & LOWER(MID(A2,2,LEN(A2)))

它把整个单元格当作一个句子,适合产品名和简短的标签。对于多句的段落,从第二句开始,每个句子的开头都会被转成小写。

PROPER 的怪毛病:O'Neil、Don'T 和 3Rd

Microsoft 自己的说明就解释了 PROPER 的全部行为:它“capitalizes the first letter in a text string and any other letters in text that follow any character other than a letter”(把文本字符串的首字母,以及文本中跟在任何非字母字符之后的其他字母转为大写),其余字母则转为小写(参见 Microsoft 的 PROPER 函数页面)。撇号、数字和连字符都算“characters other than a letter”(非字母字符),所以:

输入PROPER 的结果原因
o'neilO'Neil撇号后面的字母被大写,这里碰巧是对的
don't stopDon'T Stop同一条规则,这次却错了
3rd street3Rd Street数字后面的字母(Microsoft 的示例:76BudGet 会变成 76Budget)
2-way street2-Way Street连字符后面的字母
mcdonaldMcdonald对 Mc 或 Mac 没有特殊规则
IBM SALESIbm Sales首字母之后的所有字母都被转为小写
lord of the ringsLord Of The Rings每个词都会大写,连小词也不例外

Google 表格的 PROPER 也有同样的撇号毛病,会把“don't”变成“Don'T”,Google 的帮助页面还提醒说,它会把“mcLeod”变成“Mcleod”。

解决撇号问题

最常见的受害者,是以 's 和 't 结尾的所有格和缩略形式。下面这个公式能修好它们,同时不碰 O'Neil 和 O'Sullivan:

=TRIM(SUBSTITUTE(SUBSTITUTE(PROPER(A2&" "), "'S ", "'s "), "'T ", "'t "))

诀窍在于给文本末尾多加了一个空格。这样 "'S " 也能匹配位于单元格最末尾的所有格,最后再由 TRIM 把这个空格去掉。“don't stop ada's car”会变成“Don't Stop Ada's Car”。如果你的数据里有 're、'll、've、'd 和 'm,就再添加相应的几对;如果文本来自 Word 或网页,还要用弯撇号(’)再重复一遍。

没有任何公式能修好 McDonald 或 IBM,因为这些信息并不在文本里。对于一列人名,先运行 PROPER,再按“Mc”“Mac”和已知的缩写排序或筛选,手动修正这些行。

先清理文本,再转换

输入干净,大小写转换才会顺利。Excel 的 TRIM 会去掉文本两端的空格,并把单词之间连续的空格缩减为一个,但 Microsoft 指出,它只处理普通的空格字符,不处理从网页复制的文本里常有的不间断空格。请先把这些替换掉:

=PROPER(TRIM(SUBSTITUTE(A2, UNICHAR(160), " ")))

我们的文本数据标准化指南讲得更深入,涉及不可见字符、重音符号和去重。

Flash Fill(快速填充):照例子转换

在桌面版 Excel(2013 及更高版本)中,Flash Fill 可以从一个例子里学会大小写的变化。在 ALICE SMITH 旁边输入 Alice Smith,移到下面的单元格,按 Ctrl+E(或选择 Data(数据)、Flash Fill),Excel 就会按同样的规律填满这一列的其余部分。

有两点要知道。第一,Flash Fill 写入的是纯值而不是公式,所以源数据变了,结果不会更新。第二,它是根据你的例子猜测规律的,所以要扫一遍结果,尤其是看起来和第一行不一样的行。如果猜错了,就再输入一个例子,再按一次 Ctrl+E。

用 Power Query 处理反复出现的清理工作

如果同样的导出文件每周都会出现在你的收件箱里,就在 Power Query 里做转换,这样每次刷新都会重复执行。选中数据,依次选择 Data(数据)、From Table/Range(从表格/区域),然后在 Power Query Editor(Power Query 编辑器)里选中一列,依次选择 Transform(转换)、Format(格式),再选 lowercase、UPPERCASE 或 Capitalize Each Word 之一。Add Column(添加列)下 Format 里的同名命令,会把结果放进新列,并保留原列。

菜单背后是 M 函数 Text.Lower、Text.Upper 和 Text.Proper。Microsoft 的文档展示了用 Table.TransformColumns 来应用它们:

= Table.TransformColumns(Source, {"CUSTOMER", Text.Proper})

Power Query 里有两个细节容易绊倒 Excel 用户。它的 Format、Trim 命令只会去掉文本两端的空白;和工作表函数 TRIM 不同,它不会处理中间的连续空格。另外,M 区分大小写,所以在合并查询或分组时,“Redmond”和“REDMOND”是不同的值,除非你先转换它们,或者用 Comparer.OrdinalIgnoreCase 来比较。

Microsoft Word:Shift+F3 和 Change Case

Word 改变的是真正的字母,不需要辅助列。选中文本后按 Shift+F3(在很多 Mac 键盘上是 Fn+Shift+F3),就能在全部小写、全部大写和每个单词首字母大写之间循环切换。Home 选项卡上的 Change Case 按钮(显示为“Aa”)提供五个选项:Sentence case.(句首大写)、lowercase(小写)、UPPERCASE(大写)、Capitalize Each Word(每个单词首字母大写)和 tOGGLE cASE(大小写反转)。最后一个在你开着大写锁定键敲完一整段文字时很好用。

不要把它和 Ctrl+Shift+A 搞混,后者应用的是“全部大写”(All Caps)字体效果。这样设置格式的文字看起来是大写,但底下的字母并没有变,所以以纯文本粘贴到别处时,它会恢复原来的大小写。如果大写字母需要经受住粘贴到网页表单或其他只接受纯文本的地方,就用 Change Case。Ctrl+Shift+K 是小型大写字母(small caps)的对应效果。

Google 文档里有同样的功能,在 Format(格式)、Text(文本)、Capitalization(大写)之下,选项有 lowercase、UPPERCASE 和 Title Case(标题大写)。

该用哪种方法

  • 一次性处理一列:用 PROPER、UPPER 或 LOWER 辅助列,再以值粘贴回去。如果你更愿意给例子而不是写公式,就用 Flash Fill。
  • 每周都导入同样的数据:用 Power Query。
  • 文档里的连续文字:用 Word 的 Change Case 或 Shift+F3。
  • 需要真正的英文标题大写的标题:PROPER 会把“of”和“the”也大写。请改为把这一列粘贴到我们的大小写转换器里:它的“标题大写”会让小词保持小写,而且逐行处理,所以每一行还是每一行。(它同样不认识人名:“o'neil”会变成“O'neil”。)不确定标题该用哪种风格?我们的标题大写与句首大写对比指南对二者做了比较。

© 2026 ConvertCaseHQ. 保留所有权利。