谷歌通过脚本基于查找工作表

时间:2014-10-15 13:15:52

标签: google-apps-script google-sheets gs-vlookup

这可能对我来说完全失败了,但我想我还是会问,看看它是否会引导我回答。

我想要做的是有一个脚本

  1. 检查
  2. 中的单元格
  3. 基本上在同一工作簿中的另一个工作表中的表上执行VLookup,
  4. 将查找中找到的值放入该单元格的注释/注释中。
  5. 我第一次需要一个宏来执行此操作,并且我希望脚本能够在任何其他时间运行。

    谷歌电子表格被用作时间表。列按日分组,每天有几个班次。行指示正在工作的小时数。单元格值告诉用户当时那天工作的人员的姓名首字母。

    我知道如何设置评论。我知道如何构造一个循环遍历每一列并检查是否有值。

    我不知道如何查找单元格的值并从另一个表中返回数据。

    任何人都可以向我提供这一小段知识吗?

1 个答案:

答案 0 :(得分:2)

这是我拥有的查找功能的简短版本。如果你愿意,我有一个更复杂的,但只是让我知道,我可以在另一个回复中发布。

//------------------Single Cell VLookup return var
/*
 [129   Santa Clara BA  1234    abce    W   ]
 [130   Los Feliz   LA  5678    deff    I   ]
 [131   Sand City   BA  9112    ghig    C   ]
 finderLookUP('Data','A:G',130,0,2) would return 'LA'
*/    
function finderLookUP_(Sheet,Range,lookupItem,IndexOffset,IndexOffsetReturn)   // finderLookUP(Ref Sheet, Ref Sheet Range, Current lookup Item, Ref Sheet Column for Current lookup Item , Ref Sheet Column for qualified Current lookup Item RETURN)
    {                                                                             
     var data = SpreadsheetApp.getActive().getSheetByName(Sheet).getRange(Range).getValues();         //Syncs sheet by name and range into var
     for(nn=0;nn<data.length;nn++)
      {
        var Sending = "";
        if (data[nn][IndexOffset]==lookupItem)
        {
          var Sending = data[nn][IndexOffsetReturn];
          return Sending;
        } 
      }
      if(isEmpty_(Sending)==true)
      {
        var Sending = "#N/A";
        return Sending;
      }

    }