#javascript #google-apps-script #google-sheets
#javascript #google-apps-script #google-таблицы
Вопрос:
Я пытаюсь получить значение из электронной таблицы Google. Я перебираю каждый столбец, чтобы получить значения, и хочу установить условие, если значение в столбце равно 1, или 8, или 15, или 22, 29,……. ( число увеличивается на 7, начиная с 1 до 365), код будет выполняться, иначе он не будет выполняться.
Сначала я пытаюсь использовать цикл while для увеличения.
var data = 1;
while(data < 365){
data = 7;
Logger.log(data); //data 1,8,15,22,29
Итак, теперь я хочу сравнить приведенные выше данные с моим следующим условием, которое является условием getCol.
Таким образом, каждый раз, когда числа var «data» совпадают с числами var «getCol», код будет выполняться.
function runCode(){
var ss = SpreadsheetApp.getActiveSheet().getSheetByName("Data");
var lastRow = ss.getLastRow();
for(var x=11; x<ss.getLastColumn(); x ){
var getCol = ss.getRange(ss.getLastRow(),x).getValue(); //value=6,7,8,9,10,11,12........
if(getCol === ""){
false;
}else if(getCol === 8 || getCol === 15){
ssRota.getRange(ldap,getCol).setValue("Test");
}
else{
ssRota.getRange(ldap,getCol).setValue("Input");
}
Как вы можете видеть, в настоящее время я использую оператор OR. Если значения равны 8 или 15, код будет запущен и установит значение в каждом столбце на «Test». Но теперь будет безумием, если я захочу написать оператор OR 8,15,22,29 …… до 365.
Я пытаюсь с
else if(getCol === data){
console.log("same");
}
но, похоже, это не сработало. Есть предложения?
Ответ №1:
Вместо
else if(getCol === 8 || getCol === 15){
вы можете попробовать это
else if(getCol % 7 === 1){
Комментарии:
1. вау! хорошая мысль. Это сработало идеально. Большое спасибо, чувак