Google sheets 如何防止仅编辑奇数行?

Google sheets 如何防止仅编辑奇数行?,google-sheets,range,rows,protection,Google Sheets,Range,Rows,Protection,在GoogleSheets中,如何保护A列中的奇数行不受任何编辑 我想使用这个函数 =ISODD(ROW(A1)) 默认情况下,受保护的图纸和范围会提供此功能 Sheet1!A1 我能做到 Sheet1!A1:A1000 这将保护所有1000行,但如何使用其中的函数,以便只能使用奇数行 以下是该功能的图片: 正如在您的问题评论中提到的,我不相信有任何方法可以使用Google Apps脚本操纵范围保护 因此,我能想到的唯一选择是手动将保护应用于500个单独的单元(在您的示例中) 一个不是特别

在GoogleSheets中,如何保护A列中的奇数行不受任何编辑

我想使用这个函数

=ISODD(ROW(A1))
默认情况下,受保护的图纸和范围会提供此功能

Sheet1!A1
我能做到

Sheet1!A1:A1000
这将保护所有1000行,但如何使用其中的函数,以便只能使用奇数行

以下是该功能的图片:


正如在您的问题评论中提到的,我不相信有任何方法可以使用Google Apps脚本操纵范围保护

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

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


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

谷歌已经为使用谷歌应用程序脚本创建了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++;
  }
}
function alternateRowProtection(){
var totalRows=SpreadsheetApp.getActiveRange().getNumRows();
var sheet=SpreadsheetApp.getActiveSheet();
var行=1;
while(行<总行)
{
如果(第%2行==0){
sheet.getRange(row.protect().setDescription('这是受保护的');
}
行++;
}
}

你知道怎么做吗?我应该添加哪个标签?
googleapps script
但请参见(仍然无法使用GAS操作范围保护)。抱歉,“Show help”消息没有真正意义,因为它也会出现在奇数行中。但你可能会想一些更合适的方法,因为它不会让其他人的细胞变灰,所以它比锁定imo更好。任何在不显示灰色的情况下保护所有单元格的方法(可能也使用此数据验证方法),用户可以取消选中“视图”菜单中的“保护范围”,以不显示灰色阴影区域。但这可能不是你想要的用法。是的,我希望默认情况下任何用户都可以使用它。。啊,够好了。在“当前”链接上指出的1721号问题在2015年2月得到了解决。参考资料。看到另一个了吗