繁体   English   中英

Google App Scripts - 如何根据另一个单元格清除多个单元格的内容?

[英]Google App Scripts - How to clear multiple cells' content based on another cell?

我试图检查列的值是否包含“No Show”一词,如果一个单元格具有该值,我需要它删除同一行上的一些单元格,例如,如果 I5 列的值是“No Show”,我需要清除单元格 B5、C5、D5、F5、G5。 我试图写一些东西,但它不起作用,我对此相对较新。 谢谢您的帮助

我相信你的目标如下。

  • 当每行的“I”列的值为“ No Show ”时,您要清除“B”、“C”、“D”、“F”和“G”列的单元格值。
  • 您想使用 Google Apps 脚本实现此目的。

在这种情况下,我想建议使用 TextFinder 和 Class RangeList 的clearContent()方法。 示例脚本如下。

示例脚本:

请将以下脚本复制并粘贴到 Google 电子表格的脚本编辑器中并设置您要使用的工作表名称,然后在脚本编辑器中运行 function myFunction

function myFunction() {
  const sheetName = "Sheet1"; // Please set the sheet name.

  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
  const ranges = sheet
    .getRange("I1:I" + sheet.getLastRow())
    .createTextFinder("No Show")
    .matchCase(true)
    .findAll()
    .flatMap(r => {
      const row = r.getRow();
      return ["B", "C", "D", "F", "G"].map(e => e + row);
    });
  if (ranges.length > 0) sheet.getRangeList(ranges).clearContent();
}
  • 运行此脚本时,当每行的“I”列的值为“ No Show ”时,“B”、“C”、“D”、“F”和“G”列的单元格值将被清除。
  • 关于No Show的搜索值,当要勾选No Showno show等时,请去掉.matchCase(true)

参考:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM