2018-07-07, 22:45
  #1
Medlem
Hr r ett skript i Google Kalkylark som automatiskt lgger till siffror i nummerordning. Hur gr man fr att skriptet ska brja rkna frn siffran 0?

Kod:
function myFunction() {

  var AUTOINC_COLUMN = 0;
  var HEADER_ROW_COUNT = 1;
  
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var worksheet   = spreadsheet.getSheetByName("Sheet1");
  var rows        = worksheet.getDataRange().getNumRows();
  var vals        = worksheet.getSheetValues(1, 1, rows+1, 2);
  
  for (var row = HEADER_ROW_COUNT; row < vals.length; row++) {
    try {
      var id = vals[row][AUTOINC_COLUMN];
      Logger.log(id);Logger.log((""+id).length ===0);
      if ((""+id).length === 0) {
        // Here the columns & rows are 1-indexed
        worksheet.getRange(row+1, AUTOINC_COLUMN+1).setValue(row);
      }
    } catch(ex) {
      // Keep calm and carry on
    }
  }
}

Klla: https://blog.cloudstitch.com/auto-in...s-d9b31b2cc060[/quote]
Citera
2018-07-07, 22:59
  #2
Medlem
LeonVances avatar
for (var row = HEADER_ROW_COUNT-1; row < vals.length-1; row++) {
Citera
2018-07-07, 23:20
  #3
Medlem
Citat:
Ursprungligen postat av LeonVance
for (var row = HEADER_ROW_COUNT-1; row < vals.length-1; row++) {

Jag testade, men skriptet verkar fortfarande rkna frn siffran 1.

Citera
2018-07-07, 23:34
  #4
Medlem
LeonVances avatar
Citat:
Ursprungligen postat av obyn
Jag testade, men skriptet verkar fortfarande rkna frn siffran 1.



Kod:
function myFunction() {

  var AUTOINC_COLUMN = 0;
  var HEADER_ROW_COUNT = 1;
  
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var worksheet   = spreadsheet.getSheetByName("Sheet1");
  var rows        = worksheet.getDataRange().getNumRows();
  var vals        = worksheet.getSheetValues(1, 1, rows+1, 2);
  
  for (var row = HEADER_ROW_COUNT; row < vals.length; row++) {
    try {
      var id = vals[row][AUTOINC_COLUMN];
      Logger.log(id);Logger.log((""+id).length ===0);
      if ((""+id).length === 0) {
        // Here the columns & rows are 1-indexed
        worksheet.getRange(row+1, AUTOINC_COLUMN+1).setValue(row-1);
      }
    } catch(ex) {
      // Keep calm and carry on
    }
  }
}

Prova detta!
Citera
2018-07-07, 23:45
  #5
Medlem
Citat:
Ursprungligen postat av LeonVance
Prova detta!

Tackar, detta fungerade bttre. Av ngon anledning s lade skriptet till en siffra fr mycket p slutet.

Jag tog bort +1 efter ordet rows frn den hr raden.

Kod:
var vals        = worksheet.getSheetValues(1, 1, rows+1, 2);
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in