google-sheets - 是否有代码可以强制用户在单元格中输入特定格式?
问题描述
我有一个谷歌电子表格。
当用户在名为“单位标准”的工作表的 A 列的任何单元格中输入名称时,我希望他们以特定格式输入该名称。也就是说,姓氏首先是大写,然后是逗号,然后是姓氏,然后是标题大小写的名字,如果它们以不同的名称已知,则该名称将在括号中以标题大小写,例如
- 布什,乔治
- 特朗普,唐纳德
- 克林顿,威廉(比尔)
- 卡特,詹姆斯(吉米)
- 史密斯-琼斯,约翰
- 泽塔-琼斯,凯瑟琳(凯特)
有没有办法在他们离开单元格或工作表之前强制他们这样做?
解决方案
你可以使用脚本。仍然。
您可以使用Data Validation
on 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 个或多个小写字母的单词\)
: 右括号$
: 字符串结束
推荐阅读
- r - 更新 Shiny R 中的反应值
- python - sklearn:如果您的数据具有单个特征,则使用 array.reshape(-1, 1) 重塑您的数据,如果它包含单个样本,则使用 array.reshape(1, -1)
- javascript - 从两个不同的类导入时电子应用程序重复变量......?
- java - JavaFX - 按钮切换到错误的场景
- python - 使用 Spyder IDE 绘制散点图
- excel - 将边框发送到单元格文本的后面
- r - R图形:输出为多种文件格式
- spring - 从当前页面获取属性
- html - Bootstrap 折叠效果无法正常工作
- java - 试图对表示为字符串的数字执行算术运算