繁体   English   中英

Google表格:“单击”时,用另一个单元格内容替换单元格内容吗?

[英]Google Sheets: Replace cell contents with another cell contents when “Clicked”?

Google表格:“点击”时,用其他单元格内容替换单元格内容?

我正在尝试创建一种简单的方法,以便在其所在行中单击任何单元格时从行中显示更多数据。目前,我有一个不错的=VLOOKUP("*") ...函数,可让我键入将“ COMPANY名称中的“ COMPANY ”放入“搜索栏”单元格,然后VLOOKUP将根据其所在的COMPANY显示单元格内容。

您可以在此处查看运行情况: Google表格演示

如何使用:

绿色单元格:在“搜索栏”单元格中输入公司名称...
橙色单元格:如果找到“ COMPANY”,它将在左侧显示公司单元格的内容。


我想做的事:

  1. 单击任意行中的单元格
  2. 让该单元格意识到它所在的行,然后导航到COMPANY列。
  3. 复制“ COMPANY列中的单元格内容,并替换“搜索栏”单元格的当前内容
  4. 然后VLOOKUP将处理其余的内容。

可能?

单靠Google表格功能能否做到这一点? 还是应该使用脚本来处理? 我将如何得到它?

在此处输入图片说明

当前无法创建onClick函数。 我们拥有的最接近的东西是一个onEdit()函数。 我可以想到两种方法来进行此类工作。

1)仅当您不介意锁定脚本时,此onEdit版本才有效。 您可以编写IF语句来创建一种方法,以在编辑它时阻止它暂时运行。
2)您可以设置第二张纸,并从那里导入或备份值,然后始终在第一张纸上运行它。

function onEdit(e) {
//This sets up the worksheet variables
 var worksheet = SpreadsheetApp.getActive();
 var sheet = worksheet.getActiveSheet();
//This saves the original value e
 var origValue = e.oldValue
//This figures out where you clicked, and gets the K+rowyouclicked value.
 var selection = sheet.getActiveCell().getA1Notation();
 var splitselection = selection.match(/([A-Za-z]+)([0-9]+)/);
 var CompName = sheet.getRange("K" + splitselection[2]).getValue();
//set the value on the search bar and return the original value to where you changed.
 sheet.getRange("C3").setValue(CompName);
 sheet.getActiveCell().setValue(origValue)
}

暂无
暂无

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

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