【发布时间】:2020-05-06 06:18:50
【问题描述】:
请帮帮我,
我需要限制最大数量。列中的复选框/复选框选择。 1. 最大数量一个部门的选择受到限制。 2.勾选框选择限制由每个部门的单元格值控制
示例文件附在此处 enter link description here.
【问题讨论】:
标签: google-sheets google-sheets-formula google-sheets-api google-sheets-macros
请帮帮我,
我需要限制最大数量。列中的复选框/复选框选择。 1. 最大数量一个部门的选择受到限制。 2.勾选框选择限制由每个部门的单元格值控制
示例文件附在此处 enter link description here.
【问题讨论】:
标签: google-sheets google-sheets-formula google-sheets-api google-sheets-macros
在这种情况下,您可以在 Data > Scripteditor 中使用此脚本。 这将在每次编辑后检查第 14 列(工作表中的第 N 列)中有多少复选框为真。如果达到限制(我将其设置为 10),它会在第 14 列设置保护,只能由您更改。它还将整个列的背景颜色设置为红色,表示除您之外的任何人都无法更改它。
function onEdit(e) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Full List');
var lr = sheet.getLastRow();
var range = sheet.getRange(1, 14,lr,1); //column 14 is column N in your sheet
var data = range.getValues();
var count = 0;
for(var i = 0; i < data.length; i++)
{
if( data[i] == 'true')
{
count++;
}
}
var rangeColum = e.range;//The range of cells edited
var columnOfCellEdited = rangeColum.getColumn();//Get column number
if (count >= 10 && columnOfCellEdited == 14) //you can change the number 10 into any number you want to set the max to
{
range.protect().setDescription('reached max number of checks');
range.setBackground('#f4c7c3')
}
}
使用来自 Apps 脚本参考的 Class Protection
【讨论】: