Google表格:当"点击"?

时间:2016-09-25 10:19:41

标签: javascript google-apps-script google-sheets spreadsheet google-spreadsheet-api

Google表格:当"点击"时,将单元格内容替换为其他单元格内容。 ?

当我从它所在的行中点击任何单元格时,我试图创建一种简单的方法来显示行中的更多数据。目前,我有一个很好的=VLOOKUP("*") ...函数,允许我输入以COMPANY名称加入"搜索栏"单元格,然后VLOOKUP将显示单元格内容,具体取决于它COMPANY

您可以在此处看到它: Google Sheets Demo

  

如何使用:

     

绿色单元格:键入"搜索栏"公司名称的单元格...
  橙色细胞:如果"公司"找到后,它会在左侧显示公司单元格内容。


我想做什么:

  1. 点击任意一行中的单元格
  2. 让该单元格意识到它所在的行并导航到COMPANY列。
  3. 复制COMPANY列中的单元格内容,并替换"搜索栏的当前内容"细胞
  4. VLOOKUP将处理剩下的工作。
  5. 可能的?

    这可以单独使用Google Sheet功能吗?或者这是应该用脚本处理的东西?我怎么会这样呢?

    enter image description here

1 个答案:

答案 0 :(得分:1)

目前无法创建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)
}