Google 表格脚本:如果同一行中的另一个单元格被删除,则删除隐藏的单元格

Google Sheets script: delete hidden cell if another cell in same row is deleted

我很确定这很容易。如果删除同一行中的另一个单元格,我希望自动删除隐藏列中的单元格 (OnEdit)。在下图的例子中,如果我删除了 B13 中的文字,我希望(隐藏的)E13 中的内容也被删除。或者,如果我删除 B18,我希望删除 E18。问题是如果隐藏的 E 列没有被删除,H 列和我将受到影响。我也希望这个脚本在任何 sheet/tab 中工作(所有选项卡都具有相同的格式)。

https://docs.google.com/spreadsheets/d/1v5w3Sd4BWubJVliZz03oqfnYIq2UkoufD_-cDtAcWkE/edit#gid=964918425

将此复制粘贴到您的 Apps 脚本编辑器中:

function onEdit(e){
  var range = e.range;
  var sheet = range.getSheet();
  var row = range.getRow();
  var col = range.getColumn();
  if(row > 7 && col == 2 && e.oldValue && !e.value){
    sheet.getRange(row, 5).clear({contentsOnly: true});
  }
}

演示:

参考文献:

这样试试

function onEdit(e){
  const sh = e.range.getSheet();
  if(e.range.rowStart > 7 && e.range.columnStart == 2 && e.oldValue && !e.value){
    sh.getRange(e.range.rowStart, 5, e.range.rowEnd - e.range.rowStart + 1).clearContents();
  }
}

年删除两行一次是一个需要更复杂解决方案的问题。