Foi de calcul Google App Script, Dacă Altceva nu este de lucru

0

Problema

Test1 Foaie

enter image description here

Test2 Foaie

enter image description here

Vreau să compar News01 de Test1 O Coloana cu Test2 O Coloană, și au nevoie pentru a aduce corespunzătoare Test2 B coloana valoare

Deci rezultatul ar trebui să fie de Finanțe în Sheet1 coloana B

Dar Dacă am folosi altceva, chiar și atunci când, dacă afirmația este adevărată se va declarația altceva. Dacă am șterge altceva declarație, apoi, dacă declarația este de lucru.

Nu știu de ce, atunci când, dacă afirmația este adevărată, va altceva declarație în mod implicit

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

Cel mai bun răspuns

1

Sunteți de logare News not found pentru fiecare comparații cu toate rândurile de Test2, care este necorespunzătoare.

În schimb, trebuie să conectați doar atunci când comparația este terminat.

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"); }
  });
}

Sau, pur și simplu,

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

În alte limbi

Această pagină este în alte limbi

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