简体   繁体   中英

Google-Apps-Script For loop

I'm learning GoogleAppsScript trying to create some simple code. In this example I want my code to check in the 3rd column if employees are male or female then return "Man" or "Woman" in the 4th column. The problem is that the For loop seems not to work correcly and returns "Man" for each employee

Here is my code :

function employees() {

// set variables
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var employees = ss.getSheetByName("Employees");
  var lastRowEmployees = employees.getLastRow();

// loop on each employee
  for (var i=2;i<lastRowEmployees+1;i++) {
    var employeeNumber = employees.getRange(i,1).getValue();
    var employeeName = employees.getRange(i,2).getValue();
    var employeeSex = employees.getRange(i,3);

    if (employeeSex.getValue = "M") {
      employeeSex.offset(0,1).setValue("Man");}
  }

}

在此处输入图片说明

Answer

This tweaked script below will fix your for loop issue:

Script

function employees() {
  // set variables
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var employees = ss.getSheetByName("Employees");
    var lastRowEmployees = employees.getLastRow();

  // loop on each employee
  for(var row=2; row <= lastRowEmployees; row++){
    var employeeNumber = employees.getRange(row,1).getValue();
    var employeeName = employees.getRange(row,2).getValue();
    var employeeSex =  employees.getRange(row,3);

    if(employeeSex.getValue() == "M"){
      employeeSex.offset(0,1).setValue("Man");
    }else{
      employeeSex.offset(0,1).setValue("Female");
    }
  }
}

Sample Test

Test Sheet

在此处输入图片说明

After running the script

在此处输入图片说明

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM