Başka bir şey çalışmıyorsa Google E-Tablolar Uygulama Komut Dosyası

0

Soru

Test1 Sayfası

enter image description here

Test2 Sayfası

enter image description here

News01'i Test1 A Sütunundan Test2 A Sütunuyla karşılaştırmak istiyorum ve karşılık gelen Test2 B sütun değerini almam gerekiyor

Bu nedenle, sonuç Sayfa1 B sütununda Finans olmalıdır

Ama eğer else kullanırsam, ıf ifadesi doğru olsa bile, else ifadesine gider. Else deyimini silersem, deyim çalışıyorsa.

If ifadesi doğru olduğunda neden bilmiyorum, varsayılan olarak else ifadesine gidiyor

function test() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var source_sheet = sheet.getSheetByName("Test1");
  var target_sheet = sheet.getSheetByName("Test2");
  var lastRow = source_sheet.getLastRow();
  var inputs = source_sheet.getRange('A' + lastRow).getValues().flat();
  var days = target_sheet.getRange('A1:A').getValues().flat();
  var codes = target_sheet.getRange('B1:B').getValues().flat();

  inputs.forEach(function(input, count){
    for(var i = 0; i < days.length; i++){
      if(days[i].trim() == input.trim()){
        source_sheet.getRange('B' + (count + source_sheet.getLastRow())).setValue(codes[i]);
        Logger.log(codes[i]);
        break;
      }
      else{
        Logger.log("News not found")
      }
    
    }
  });
}
2

En iyi cevabı

1

Günlüğe kaydediyorsunuz News not found tüm satırlarla yapılan her karşılaştırma için Test2 bu da uygunsuz.

Bunun yerine, yalnızca karşılaştırma tamamlandığında oturum açmalısınız.

function test() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var source_sheet = sheet.getSheetByName("Test1");
  var target_sheet = sheet.getSheetByName("Test2");
  var lastRow = source_sheet.getLastRow();
  var inputs = source_sheet.getRange('A' + lastRow).getValues().flat();
  var days = target_sheet.getRange('A1:A').getValues().flat();
  var codes = target_sheet.getRange('B1:B').getValues().flat();

  inputs.forEach(function(input, count){
    let found = false;
    for(var i = 0; i < days.length; i++){
      if(days[i].trim() == input.trim()){
        source_sheet.getRange('B' + (count + source_sheet.getLastRow())).setValue(codes[i]);
        Logger.log(codes[i]);
        found = true;
        break;
      }
    }
    if (!found) { Logger.log("News not found"); }
  });
}

Ya da sadece,

function test() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var source_sheet = sheet.getSheetByName("Test1");
  var target_sheet = sheet.getSheetByName("Test2");
  var lastRow = source_sheet.getLastRow();
  var inputs = source_sheet.getRange('A' + lastRow).getValues().flat();
  var days = target_sheet.getRange('A1:A').getValues().flat();
  var codes = target_sheet.getRange('B1:B').getValues().flat();

  inputs.forEach(function(input, count){
    for(var i = 0; i < days.length; i++){
      if(days[i].trim() == input.trim()){
        source_sheet.getRange('B' + (count + source_sheet.getLastRow())).setValue(codes[i]);
        Logger.log(codes[i]);
        return;
      }
    }
    Logger.log("News not found");
  });
}
2021-11-24 05:32:28
0
function test() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sh1 = ss.getSheetByName("Sheet0");
  var sh2 = ss.getSheetByName("Sheet1");
  var lastRow = sh1.getLastRow();
  var vs1 = sh1.getRange(1,1,sh1.getLastRow()).getValues().flat().map(e => e.trim());
  var vs2 = sh2.getRange(1,1,sh2.getLastRow(),2).getValues();
  vs2.forEach(r => {
    if(~vs1.indexOf(r[0].trim())) {
       Logger.log(r[1]);
    }
  });
}
2021-11-24 05:26:46

Diğer dillerde

Bu sayfa diğer dillerde

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................