Google电子表格受保护的工作表和范围,如何保护仅编辑奇数的单元格范围

时间:2014-08-16 00:11:22

标签: google-sheets range rows spreadsheet protection

在Google Spreadsheets中,如何保护A列中的行,这些行在任何类型的编辑中都是奇怪的?

我想使用此功能

=ISODD(ROW(A1))

受保护的工作表和范围默认情况下为您提供

Sheet1!A1

我可以这样做

Sheet1!A1:A1000

它将保护所有1000行,但我如何使用其中的函数,所以我只能使用ODD行。

以下是该特征的图片

enter image description here

2 个答案:

答案 0 :(得分:1)

正如您对问题的评论所述,我不相信currently有任何方法可以通过Google Apps脚本操纵范围保护。

因此,我能想到的唯一选择是手动将保护应用于500个单独的单元格(在您的示例中)。

解决方法 - 这不是特别整洁 - 是使用数据验证来阻止(最终不会阻止)在偶数行中输入数据,这种安排(从数据,验证...访问):

Data validation example

有权访问电子表格的精明用户将能够进行数据验证并绕过这一点。

答案 1 :(得分:1)

Google已使用谷歌应用脚​​本为protecting sheets创建了api。

例如,要保护范围A1:B10,您可以运行

var ss = SpreadsheetApp.getActive();
var range = ss.getRange('A1:B10');
var protection = range.protect().setDescription('Sample protected range');    

如果您想要替代保护行,可以尝试这样的

function alternateRowProtection() {
  var totalRows = SpreadsheetApp.getActiveRange().getNumRows();
  var sheet = SpreadsheetApp.getActiveSheet();
  var row = 1;
  while (row < totalRows)
  {
      if(row%2 == 0){
           sheet.getRange(row).protect().setDescription('This is protected.');    
      }
    row++;
  }
}