基于活动单元格的值的单元格注释

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

首先,我必须承认我对此是全新的,并且直到最近才开始使用Google表格中的脚本功能来更新工作中的计划表。所以裸露我:)为了使此特定功能正常工作,我正在一个简单的测试表中对其进行尝试。

我在FEBRUARI工作表中有两个工作表(STATUS和FEBRUARI),我已经选择了某个单元格。该单元格具有一个值。我要脚本执行的操作是查看该值,然后在STATUS表中找到该值(例如,它在A1中找到了它),然后将B1中的值返回到FEBRUARI表中所选单元格中的单元格注释中。例如:在单元格中显示“ Project 6”,单元格注释提供有关此项目的信息。

这就是我得到的。这给了我一个确定的值(-1),但是我放置lookupvalue的位置似乎并不重要。它总是返回-1。

    // My Script

function noteSetter() {

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var lookupvalue = SpreadsheetApp.getActiveSheet().getActiveCell().getValue();
  var sheet = ss.getSheetByName("STATUS"); //source sheet
  var sheet2 = ss.getSheetByName("FEBRUARI"); //result sheet
  var cellnote = SpreadsheetApp.getActiveSheet().getActiveCell();
  var lc = sheet.getLastColumn()
  var lookup = sheet.getRange(1,1,1,lc).getValues() //
  var index = lookup.indexOf(lookupvalue)


  cellnote.setNote(index);


  // This part will actually run the script once it's up and running
  function onOpen() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var entries = [{
  name : "Set cell note",
    functionName : "noteSetter"
  }];
  sheet.addMenu("Scripts", entries);
};


}

感谢帮助!

javascript google-apps-script google-sheets vlookup
1个回答
0
投票
  var lookup = sheet.getRange(1,1,1,lc).getValues();
  var index = lookup.indexOf(lookupvalue)

第一行返回一个2D数组。 indexOf()仅适用于展平数组。尝试使用:

var lookup = sheet.getRange(1,1,1,lc).getValues()[0];
© www.soinside.com 2019 - 2024. All rights reserved.