如何在不使用删除或退格键盘键的情况下清除单元格值?

问题描述 投票:0回答:2

输入 B2 值时如何清除

B1
中的
Google Sheets
单元格值,反之亦然

我尝试过这个公式:

=IF(B1<>"",clean(B2))

google-sheets
2个回答
0
投票

这无法在 Google 表格中使用公式完成,但可以使用 Google Apps 脚本完成。

它使用 Javascript 作为编程语言,并包含服务和触发器。

您可以在编辑或更改触发器上使用。

一种简单的方法是从 Google 表格创建脚本。有关详细信息,请从交易开始https://developers.google.com/apps-script/guides/sheets


0
投票

打开您的 Google 表格: 打开您想要实现此功能的 Google 表格。

转到脚本编辑器: 单击菜单栏中的“扩展”,然后单击“Apps 脚本”。这将打开 Google Apps 脚本编辑器。

清除现有代码: 如果有任何现有代码,请将其删除。

粘贴提供的脚本: 复制提供的脚本并将其粘贴到脚本编辑器中。

保存脚本: 单击菜单栏中的“文件”,然后单击“保存”。

测试脚本: 您现在可以测试该脚本。编辑 Google 表格中的单元格 B1 或 B2。如果您在一个单元格中输入一个值,另一个单元格应自动清除其内容。

授权脚本(如果出现提示): 第一次在 Google 表格中运行脚本时,它可能会提示您授权该脚本。请按照屏幕上的说明进行操作。这是脚本能够更改您的工作表所必需的。

关闭脚本编辑器: 成功保存并测试脚本后,您可以关闭脚本编辑器。

完成!: 现在,只要您在 Google 表格中编辑单元格 B1 或 B2,该脚本就会自动运行,并在输入值时清除另一个单元格的内容。

function onEdit(e) {
  var sheet = e.source.getActiveSheet();
  var range = e.range;
  var cell = range.getA1Notation();
  
  // Check if the edited cell is B1 or B2
  if (cell === 'B1' || cell === 'B2') {
    // Clear the other cell if the edited cell is B1 or B2
    var otherCell = (cell === 'B1') ? 'B2' : 'B1';
    if (e.value !== '') {
      sheet.getRange(otherCell).clearContent();
    }
  }
}

© www.soinside.com 2019 - 2024. All rights reserved.