【问题标题】:Check Box Limit max no. of selection based on cell Value in Google Sheet复选框限制最大数量。根据 Google 表格中的单元格值进行选择
【发布时间】:2020-05-06 06:18:50
【问题描述】:

请帮帮我,

我需要限制最大数量。列中的复选框/复选框选择。 1. 最大数量一个部门的选择受到限制。 2.勾选框选择限制由每个部门的单元格值控制

示例文件附在此处 enter link description here.

【问题讨论】:

    标签: google-sheets google-sheets-formula google-sheets-api google-sheets-macros


    【解决方案1】:

    在这种情况下,您可以在 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

    【讨论】:

      【解决方案2】:

      您可以在 R 之后添加一列,稍后将其隐藏。 在该列中,您可以在 R2 中写入:=COUNTIF(N:N;TRUE)。这将计算 TRUE(=选中复选框)的频率。 然后您可以添加条件格式(见下图),如果已达到最大检查次数,则将整列变为红色。在此示例中,我将其最大化为等于或大于 10。

      它不限制人们检查更多的框,但颜色应该足够 imo。 如果您真的想阻止人们添加更多检查,您应该考虑使用 Google App Script。

      【讨论】:

      • 感谢您的帮助,但我需要限制用户选择最大值。不。选择
      • 如果您熟悉 Google App 脚本,您可以使用我的新答案作为真正保护范围不被除您自己以外的任何人编辑的方法。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-11
      • 1970-01-01
      • 2016-06-15
      • 1970-01-01
      • 1970-01-01
      • 2017-01-28
      相关资源
      最近更新 更多