ผ้าปูที่นอนของกูเกิ้ลแอพสคริปต์ถ้าอื่นที่ไม่ได้ทำงาน

0

คำถาม

Test1 แผ่นงาน

enter image description here

Test2 แผ่นงาน

enter image description here

ฉันต้องการที่จะเปรียบเทียบ News01 จาก Test1 เป็นคอลัมน์ กับ Test2 องสดมภ์และต้องการเพื่อข้อมูลที่สัมพันธ์กัน Test2 B คอลัมน์ คุณค่า

ดังนั้นผลลัพธ์ควรจะเป็ นการเงิน ใน Sheet1 B คอลัมน์

แต่ถ้าฉันใช้คนอื่นแม้แต่ตอนถ้าแถลงการณ์เป็นเรื่องจริงมันจะต้องอื่นอีกขโยงข้างนอกนั่น ถ้าฉันลบอีกคำให้การนั้นถ้าแถลงการณ์มันทำงานอยู่

ฉันไม่รู้ว่าทำไมตอนถ้าแถลงการณ์เป็นเรื่องจริง,มันจะต้องอื่นอีกแถลงการณ์โดยปริยาย

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

คำตอบที่ดีที่สุด

1

คุณคือการทำปูมบันทึก News not found สำหรับแต่ละ comparisons กับทั้งหมนวนแถวของ Test2ซึ่งเป็น improper.

แทนที่จะเป็นคุณควรจะเพียงปูมบันทึกเมื่อเปรียบเทียบเสร็จแล้ว

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

หรืออย่างง่ายๆ

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

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

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

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่