Google 工作表从数据库中搜索并在编辑时插入特定单元格

Google Sheets Search from Database and insert into specific cell on edit

我需要比我更有经验的人的帮助。 我有以下公式

=WENNFEHLER(SVERWEIS($B;$B6:C;{2};0))

和以下脚本

function copyIntoCell() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('C3').activate();
  spreadsheet.getRange('A3').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
};

如何将公式添加到脚本中并在 B3 中输入名称时使其成为“onEdit”,当 B3 与数据库匹配时,它应该自动将数字从 B6:C 插入到 C3 中。

还有,当我在 B3 中输入一个词时,是否可以自动完成它会根据我输入的词向我推荐数据库中的名称?这个不重要,但会很好。

Here is the example

感谢任何帮助和想法,我可以完成我正在寻找的东西。

结合脚本和公式如下:

  • 检查是否在 B 列中执行了编辑
  • 检索活动行
  • setFormula() 将您的公式分配给 C 列中的活动行
  • 如果在数据库中找不到输入的名称和公式 returns 错误“#NAME?” - 再次删除公式
function onEdit(e) {
  //check if edit takes place in the second column (B)
  if(e.range.getA1Notation() =="B3"){
    //proceed
    var spreadsheet = SpreadsheetApp.getActive();
    var row = e.range.getRow();
    var formula = "=IFERROR(VLOOKUP($B,$B6:C,{2},0))";
    //set formula to active row in column C
    var cell = spreadsheet.getActiveSheet().getRange(row, 3);
    cell.setFormula(formula);
  }
};