You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets自定义下拉菜单:显示全称仅录入罗马数字

实现显示完整类别但仅录入罗马数字的下拉菜单

方法一:数据验证 + 单元格公式(无需脚本)

  • 给目标区域设置下拉选项
    1. 选中Sheet1的A7:A26单元格
    2. 点击菜单栏「数据」→「数据验证」
    3. 条件选择「从范围选择」,输入supportSheet!C3:C12,勾选「显示下拉列表」后保存,此时下拉会显示完整的类别文本
  • 提取罗马数字
    1. 在Sheet1选空白辅助列(如B列),在B7单元格输入公式:=REGEXEXTRACT(A7,"^[IVXLCDM]+")
    2. 下拉填充B7到B26,B列会自动提取A列选中内容里的罗马数字
    3. 若需将罗马数字放回A列,可复制B列内容,右键A列→「选择性粘贴」→「值」

方法二:Google Apps Script自动替换(自动完成)

如果需要选择后自动替换为罗马数字,用脚本更高效:

  1. 打开Google Sheets,点击「扩展程序」→「Apps Script」
  2. 删除默认代码,粘贴以下脚本:
function onEdit(e) {
  const targetRange = e.range;
  // 校验编辑单元格是否在Sheet1!A7:A26范围内
  if (targetRange.getSheet().getName() === "Sheet1" && 
      targetRange.row >=7 && targetRange.row <=26 && 
      targetRange.column ===1) {
    const value = targetRange.getValue();
    // 提取开头的罗马数字
    const romanNum = value.match(/^[IVXLCDM]+/);
    if (romanNum) {
      targetRange.setValue(romanNum[0]);
    }
  }
}
  1. 点击「保存」,给脚本命名(如RomanDropdown)
  2. 返回Sheet1测试:选择下拉菜单的完整类别,单元格会自动替换为对应罗马数字

注意事项

  • 确保supportSheet!C3:C12的内容格式统一为「罗马数字 - 类别名称」,否则正则表达式可能无法准确提取
  • 脚本的onEdit触发器会自动触发,无需手动运行

内容的提问来源于stack exchange,提问作者Lennart

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 02:45:34