#javascript #string #google-apps-script
#javascript #строка #google-приложения-скрипт
Вопрос:
В моем коде я храню список имен в массиве, называемом data . Поэтому позже я могу вспомнить эти имена в цикле, указав ссылку, такую как data[1], чтобы получить первое имя.
Приведенная ниже строка кода РАБОТАЕТ нормально
cell.setFormula("=query('Open Details'!$A$1:$Z$231,"SELECT A WHERE V contains 'John Doe'",0)");
Предположим, что data[1] преобразуется в имя John Doe. Как мне использовать данные [1] в приведенной выше формуле?
Ответ №1:
Попробуйте это:
cell.setFormula("=query('Open Details'!$A$1:$Z$231,"SELECT A WHERE V contains '" data[1] "'",0)");
Вы также можете поместить имена на второй лист или в другой столбец на том же листе в файле и ссылаться на каждую ячейку в каждом экземпляре формулы:
cell.setFormula("=query('Open Details'!$A$1:$Z$231,"SELECT A WHERE V contains Names!$A$1",0)");
Комментарии:
1. Первый вариант сработал! Для второго, хотя я понимаю это концептуально, я не знаю, смогу ли я изменить ссылку «Names! $ A $ 1» на «Names! $ A $ 2» в цикле, используя счетчик циклов.
Ответ №2:
Вы можете использовать обратную галочку, чтобы создать литерал шаблона и вставить переменную в строку.
Литералы шаблона можно использовать для представления многострочных строк, а затем использовать «интерполяцию» для вставки переменных, как показано ниже.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
var data = ['Jane Doe', 'John Doe'];
var query = `=query('Open Details'!$A$1:$Z$231,'SELECT A WHERE V contains '${data[1]}''',0)`;
console.log(query);