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

如何让Google Sheets中Apps Script生成的下拉列表默认显示首选项

解决Google Sheets下拉列表默认显示第一个选项的问题

修改要点:

  • 修正空白判断逻辑:原代码错误判断整个B2:B区域是否为空,应改为判断当前操作的B列单元格是否为空。
  • 添加默认值设置:在给C列添加下拉验证规则后,直接为该单元格设置列表的第一个选项值。

修改后的完整代码:

var sheet = event.source.getActiveSheet();
var actRng = event.source.getActiveRange();
var index = actRng.getRowIndex();
var cindex = actRng.getColumnIndex();

// 判断当前操作的B列单元格是否为空
var colrange = actRng.isBlank();

if(colrange){
  sheet.getRange(index,4).clearContent();
  sheet.getRange(index,3).clearDataValidations();
} else{
  var date = Utilities.formatDate(new Date(),"EST", "MMMM-dd-yyyy");
  var list=["New", "Ongoing", "Done", "On-Hold"];

  var rule=SpreadsheetApp.newDataValidation().requireValueInList(list).build();
  sheet.getRange(index,3).setDataValidation(rule);
  // 为C列单元格设置默认值为列表第一个选项
  sheet.getRange(index,3).setValue(list[0]);
  sheet.getRange(index,4).setValue(date);
}

说明:

  1. 调整空白判断逻辑后,只有当当前选择的B列单元格被清空时,才会清除对应行的日期和C列的验证规则,逻辑更准确。
  2. 通过setValue(list[0])直接给C列单元格赋值列表第一个元素"New",实现下拉列表创建后自动显示默认选项的效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 14:55:15