2014-10-15 2 views
0

Это может быть полная неудача для меня, но я подумал, что все равно спрошу, не приведет ли это к моему ответу.Заметки google-листов через скрипт на основе поиска

Что я хочу сделать, это есть скрипт

  1. изучить клетку я нахожусь в
  2. по существу сделать ВПР на столе в другом листе в той же книге,
  3. положить значение найденный из этого поиска в комментарий/примечание для этой ячейки.

Мне понадобится макрос, чтобы сделать это в первый раз, и я хочу, чтобы сценарий запускался при изменении в другое время.

Электронная таблица google используется как расписание. Столбцы группируются по дням, и каждый день имеет несколько смен. Строки указывают часы работы. Значение ячейки сообщает пользователю инициалы лица, работающего в этот день в этот день.

Я знаю, как установить комментарий. Я знаю, как построить цикл для прокрутки каждого столбца и проверить, есть ли значение.

Что я не знаю, так это то, как искать значение ячейки и возвращать данные из другой таблицы.

Может ли кто-нибудь предоставить мне эту небольшую часть знаний?

ответ

1

Вот короткая версия функции поиска, которую я имею. У меня есть более сложный, если вы хотите, но просто дайте мне знать, и я могу опубликовать его в другом ответе.

//------------------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; 
     } 

    }