输入数据基于其他列表Google表格

时间:2016-02-15 18:45:25

标签: javascript scripting google-sheets

我们正在尝试设置自定义Google脚本,以协助商务办公室的日常工作。目前,他们想要输入工作代码的东西,但允许教师输入名称(例如Track,并将其翻译成5506)。我遇到了让它运行的问题,它不会将代码拉过来并将它们输入到电子表格中。我目前正在使用Google Scripts编写这些自定义方法。请参阅下文,了解我目前的情况。

function changeCodes(input, names, codes)
{
  var outputArray = [];
  var found = new Boolean("false");
  for(var i = 0; !found; i++)
  {
    if(input.equals(nameArray[i]))
    {
      outputArray.push([codes[i].getValue()]);
      found = new Boolean("true");
    }
  }
  return outputArray[2];
}

2 个答案:

答案 0 :(得分:0)

这是一个使用关联数组的简单解决方案。

function test2() {
  Logger.log(getCode("Job2"));
}

function getCode(input) {
  var code = {
    "track": 5506,
    "job1" : 5510,
    "job2" : 5520 }
  input = input.toLowerCase();
  if (input in code) {
      return code[input];
  } else {
      return 0;
  }
}

答案 1 :(得分:0)

因此,在进一步研究中,我发现我认为我所说的并不是真的。在正确调用一切时,它确实可以正常工作这类似于VLOOKUP,但是通过这种方式,您可以设置它所引用的内容,它与之比较的内容,以及与VLOOKUP相比更完整的输出。

function changeNames(input, names, proper)
{
  var outputArray = [];
  var found = false;
  for(var i = 0; !found; i++)
  {
    if(input.equals(names[i]))
    {
      outputArray.push(proper[i]);
      found = true;
    }
  }
  return outputArray;
}