首页 > 解决方案 > 带复选框的条件格式

问题描述

有没有办法格式化一个复选框,以便当它被“选中”时,它旁边的列中的数据将被移动到另一列?

标签: google-apps-scriptgoogle-sheetsformattingconditional-statements

解决方案


正如 player0 所提到的,要使其正常工作,您需要借助Event Objects的 Google Apps Script 的电子表格服务

下面的代码应该适用于下面的示例数据。

样本数据:

样本数据

代码:

function onEdit(e) {
  var sheet = e.source.getActiveSheet();
  var range = e.range;
  var column = range.getColumn();
  // if edited data is in Sheet1 Column A and having value TRUE (checkbox ticked) 
  if (sheet.getName() == "Sheet1" && column == 1 && e.value == "TRUE") {
    // get 1 column to the right of checkbox and assign to dataValue
    var dataRange = range.offset(0, 1);
    var dataValue = dataRange.getValue();
    // get 3 columns to the right of dataValue and assign to transferToRange
    var transferToRange = dataRange.offset(0, 3);
    // set dataValue as value to transferToRange
    transferToRange.setValue(dataValue);
    // remove data from dataRange after
    dataRange.setValue("");
  }
}

输出:

输出

笔记:

  • 上面的代码只是您可以通过 Apps 脚本创建的众多可能解决方案之一。
  • 阅读Apps 脚本以获取更多信息。

参考:


推荐阅读