2017-02-03 2 views
0

Я хотел бы скопировать (не перемещать) всю строку на другой лист, когда есть конкретное слово в ячейке. У меня есть лист с именем «Список» с 7 столбцами, в 7-м столбце я помещаю заметки для каждой строки. Каждый раз, когда я пишу слово «Ведущий» в этом столбце, мне хотелось бы, чтобы вся строка была скопирована на другой лист под названием «Возможность». Обратите внимание, что за словом «Lead» последуют другие слова в этой ячейке, например: «Lead, хочет удалить дерево и озеленение». Таким образом, это не одно значение.В листах Google, как скопировать (не переместить) целую строку на другой лист на основе слова (не единственное значение) в ячейке

Большое спасибо за помощь.

ответ

0

Вы можете создать свою собственную функцию для этого. Этапы:

  • Инструменты-> Редактор сценариев. Например, пишут:

    function myFunction(input) { return input; }

  • Перейти к ресурсам -> Триггеры текущего проекта -> Добавить триггер

  • Выберите имя функции (MYFUNCTION), из таблицы, изменения затем сохранить
  • В Google записи листа клеток, например

= туРипсЫоп (А1)

и изменение ячейки A1. Вы получите изменения. код работы функции, копирование значения ячеек, если у них есть слово «Свинец»:

function myFunction(input) { 
    var array = ['']; 
    if(typeof input != 'object') { 
    return array; 
} else { 
    for (var name in input) { 
     for (var name2 in input[name]) { 
      if(input[name][name2].toString().indexOf('Lead') != -1) { 
      array.push(input[name]); 
     } 
     } 
    } 
    } 
    if(array.length > 1) { 
    array.splice(0, 1); 
    } 
    return array; 
} 

Применения. Во второй лист (Opportunity) прошлого в любой клетке:

= MYFUNCTION ('Список' A1: G50)

Вот link с рабочей формулой.

+0

Спасибо Диме, но я не имею понятия о написании функций для поиска слов и размещения данных на другом листе: /. –

+0

Спасибо Диме, но, к сожалению, я не могу заставить его работать. Я добавил триггер (myFunction, From spreadsheet, On change). Затем я добавил ваш скрипт. Затем, на листе «Возможности», я вставил myFunction («List»! A1: G50). –

+0

Джон, есть некоторые ошибки, показывающие или просто пустые? Вы пытались что-то изменить в листе «Список»? Каждая формула должна начинаться с символа «=», так ли это для вас? –

0

Это должно быть возможно с помощью QUERY(). Если предположить, что исходный лист является «Лист1» в листе «Opportunity» Вводят в A1:

=QUERY('Sheet1!A1:G', "where G contains 'Lead'", 1) 

Изменить имя листа и варьируется в зависимости.