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

Google Sheets中B、C列空白时锁定A列复选框的实现方法

在Google Sheets中实现空值锁定复选框的方法

由于复选框本身属于数据验证的一种规则,无法在同一单元格叠加自定义数据验证公式,因此我们需要通过Google Apps Script来实现需求:当B、C列对应单元格均为空时,锁定A列的复选框,禁止编辑;只要B或C列有内容,复选框恢复可编辑状态。

具体操作步骤

  • 打开目标表格,点击顶部菜单栏的「扩展程序」→「Apps 脚本」,进入脚本编辑器。
  • 删除编辑器里的默认代码,粘贴以下脚本:
function onEdit(e) {
  const sheet = e.source.getActiveSheet();
  // 替换为你的工作表名称,比如"任务列表"
  if (sheet.getName() !== "Sheet1") return;
  
  const row = e.range.getRow();
  // 跳过表头行,假设表头在第1行
  if (row < 2) return;
  
  const bVal = sheet.getRange(row, 2).getValue();
  const cVal = sheet.getRange(row, 3).getValue();
  const aCell = sheet.getRange(row, 1);
  
  // 检查B、C列是否都为空
  const lockCheckbox = bVal === "" && cVal === "";
  
  // 配置单元格保护
  let protection = aCell.getProtection();
  if (!protection || !protection.isProtected()) {
    protection = aCell.protect();
    // 移除默认编辑权限,仅保留必要权限
    protection.removeEditors(protection.getEditors());
    protection.setDomainEdit(false);
  }
  
  // 切换保护状态:锁定时设为不可编辑,否则仅显示警告(允许编辑)
  protection.setWarningOnly(!lockCheckbox);
}
  • 修改脚本中的"Sheet1"为你实际使用的工作表名称,点击编辑器顶部的保存按钮,给脚本命名(比如「LockEmptyCheckbox」)。
  • 回到表格测试:当某行B、C列都为空时,A列复选框会被锁定,无法点击修改;只要B或C列填入内容,复选框即可正常编辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 06:20:52