首页 > 解决方案 > 是否有代码可以强制用户在单元格中输入特定格式?

问题描述

我有一个谷歌电子表格。

谷歌电子表格

当用户在名为“单位标准”的工作表的 A 列的任何单元格中输入名称时,我希望他们以特定格式输入该名称。也就是说,姓氏首先是大写,然后是逗号,然后是姓氏,然后是标题大小写的名字,如果它们以不同的名称已知,则该名称将在括号中以标题大小写,例如

有没有办法在他们离开单元格或工作表之前强制他们这样做?

标签: google-sheetsgoogle-sheets-formula

解决方案


你可以使用脚本。仍然。

您可以使用Data Validationon column使用简单的公式获得相同的结果A

这是在单元格中放入A2范围的公式A2:A555

=REGEXMATCH(A2,"^[A-Z]+\b[',']\s[A-Z]{1}[a-z]+\b(\s([A-Z][a-z]+\b))?$")

读取正则表达式:

^[A-Z]+\b[',']\s[A-Z]{1}[a-z]+\b(\s([A-Z][a-z]+\b))?$

  • ^[A-Z]+\b: 开头只有 1 个或多个大写字母,直到单词结尾
  • [',']\s:,后面有一个空格
  • [A-Z]{1}[a-z]+\b: 直到词尾只有 1 个大写字母和 1 个或多个小写字母
  • (\s\([A-Z][a-z]+\b\))?$: 以上都可以?这个字符串。
    • \s\(: 一个空格和一个左括号(
    • [A-Z][a-z]+\b:仅以 1 个大写字母开头,后跟 1 个或多个小写字母的单词
    • \): 右括号
    • $: 字符串结束

推荐阅读