在Google电子表格中将所有文本转换为大写


11

我有一个与他人共享的电子表格以收集一些数据。每个人只是(假定是)将一个字符放置在任意一个单元格中。

如何使这些单元格转换为大写?

=UPPER()在每个单元格中使用似乎是一个入门者,因为他们输入的内容都将覆盖它。


有人可以扩大这个答案吗?具体来说,编写并保存脚本后,应如何在Google表格中的给定单元格区域上执行该脚本?
tomh,

Answers:


12

这是一个自动将输入转换为大写的脚本:

function onEdit(e) {
  if (typeof e.value != 'object') {
    e.range.setValue(e.value.toUpperCase());
  }
}

在电子表格中,转到工具>脚本编辑器。将上面的代码放入代码窗口中(替换其中的任何预填充内容),然后保存。


如果要强制使用大写单字符条目,则可以使用带有自定义公式的数据验证

=regexmatch(A1,"^[A-Z]$")

假设范围的左上角是A1,并且您希望使用拉丁字母。正则表达式的^[A-Z]$意思是:字符串的开头;AZ范围内的单个字符;字符串的结尾。


有人可以扩大这个答案吗?具体来说,编写并保存脚本后,应如何在Google表格中的给定单元格区域上执行该脚本?
tomh,

@tomh此脚本适用于整个电子表格。您考虑使用=ARRAYFORMULA(UPPER(A:Z)吗?
user0

嗨-我要求逐步执行脚本并将其应用于工作表中突出显示的单元格区域。理想情况下,通过菜单命令
tomh,

@tom是让这个脚本起作用吗?
user0

不。我使用了一个名为Cases的附加组件来达到相同的效果。但是我想知道如何将脚本应用于工作表中的一系列单元格,并且我认为这对本文是一个有用的答案。
tomh,

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.