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

如何通过Google Sheets API启用数据验证下拉多选功能?

Google Sheets API 实现下拉列表多选的数据验证

问题背景

我尝试通过Google Sheets API创建支持从下拉列表中多选的数据验证规则。在Google Sheets界面中设置数据验证时,有「允许多选」的选项,但不清楚如何通过API启用该功能。

当前使用的验证请求代码如下:

const validationRequest = {
  setDataValidation: {
    range: {
      sheetId: sheetId,
      startRowIndex: nextRowIndex,
      endRowIndex: nextRowIndex + 1,
      startColumnIndex: 4, // Column E
      endColumnIndex: 5,
    },
    rule: {
      condition: {
        type: "ONE_OF_RANGE",
        values: [
          {"userEnteredValue": "='City List'!$A$2:$A"}
        ],
      },
      inputMessage: "Select a city from the list",
      strict: false,
      showCustomUi: true,
    },
  },
};

这段代码创建的下拉列表仅支持单选,需要实现多选功能,具体疑问:

  • API中是否有特定属性或参数可启用多选功能?
  • 是否需要将condition.type从「ONE_OF_RANGE」修改为其他值?
  • rule对象中是否需要添加额外属性?

已查阅Google Sheets API文档,但未找到关于启用多选功能的明确说明。
环境:Google Sheets API v4、JavaScript/Node.js

解决方案

疑问解答

  1. 有特定属性启用多选:在rule对象下添加allowMultipleValues: true,这就是对应界面的「允许多选」选项。
  2. 无需修改condition.type:保持ONE_OF_RANGE即可,多选功能适配下拉列表类的验证规则(如ONE_OF_LIST或ONE_OF_RANGE)。
  3. 需要添加额外属性:即allowMultipleValues: true,直接加入rule对象即可。

修改后的完整代码

const validationRequest = {
  setDataValidation: {
    range: {
      sheetId: sheetId,
      startRowIndex: nextRowIndex,
      endRowIndex: nextRowIndex + 1,
      startColumnIndex: 4, // Column E
      endColumnIndex: 5,
    },
    rule: {
      condition: {
        type: "ONE_OF_RANGE",
        values: [
          {"userEnteredValue": "='City List'!$A$2:$A"}
        ],
      },
      inputMessage: "Select one or more cities from the list",
      strict: false,
      showCustomUi: true,
      allowMultipleValues: true // 新增此属性启用多选
    },
  },
};

补充说明

  • 多选后的单元格值默认用逗号分隔多个选项,可在Sheets设置中调整分隔符
  • allowMultipleValues是DataValidationRule的可选字段,API文档中可能未突出标注,但确实支持该功能

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 23:38:20