将数据源(单行)中的数据追加到指定工作表中的多行中

问题描述 投票:0回答:1

我有一张正在收集数据的工作表,部分数据有 7 行,部分只有 1 行。我想将单数行中的数据追加 7 次以匹配 7 行。当前使用设置值,但这仅传输单行。

当前结果期望结果数据收集表

function copytomaster(){
  var sheet = SpreadsheetApp.openById("1Z319ABahpIhAKU8Hfc1J18Ss8_2kxFYYa1ySbjgDMQA");
  var check_in_sheet = sheet.getSheetByName("Check In");
  var master = sheet.getSheetByName("Data");
  var lastrow = master.getLastRow()+1;
  var check_in_range = check_in_sheet.getRange(11,1,7,14);
  var check_in_values = check_in_range.getValues();
  var biometrics_range = check_in_sheet.getRange(4,7,1,4);
  var biometrics_values = biometrics_range.getValues();
  var sleep_range = check_in_sheet.getRange(3,4,1,1);
  var sleep_values = sleep_range.getValue();
  var steps_range = check_in_sheet.getRange(4,4,1,1);
  var steps_value = steps_range.getValue();
  var training_range = check_in_sheet.getRange(3,6,1,1);
  var training_value = training_range.getValue();
  var cardio_range = check_in_sheet.getRange(4,6,1,1);
  var cardio_value = cardio_range.getValue();  
  var nutrition_range = check_in_sheet.getRange(4,11,1,4);
  var nutrition_values =nutrition_range.getValues();
  var achievement_range = check_in_sheet.getRange(7,3);
  var achievement_value = achievement_range.getValues();
  var improvement_range = check_in_sheet.getRange(7,7);
  var improvement_value = improvement_range.getValues();
  var struggle_range = check_in_sheet.getRange(7,11);
  var struggle_value = struggle_range.getValues();
  var bb_range = check_in_sheet.getRange(30,2);
  var bb_value = bb_range.getValues();
  var nt_range = check_in_sheet.getRange(31,2);
  var nt_value = nt_range.getValues();
  var diet_range = check_in_sheet.getRange(32,2);
  var diet_value = diet_range.getValues();
  var ao_range = check_in_sheet.getRange(33,2);
  var ao_value = ao_range.getValues();
  var leaner_range = check_in_sheet.getRange(30,5);
  var leaner_value = leaner_range.getValues();
  var clothes_range = check_in_sheet.getRange(31,5);
  var clothes_value = clothes_range.getValues();
  var ms_range = check_in_sheet.getRange(33,5);
  var ms_value = ms_range.getValues();
  var alcohol_range = check_in_sheet.getRange(32,5);
  var alcohol_value = alcohol_range.getValues();
  var meds_range = check_in_sheet.getRange(30,12);
  var meds_value = meds_range.getValues();
  var travel_range = check_in_sheet.getRange(31,12);
  var travel_value = travel_range.getValues();
  var other_range = check_in_sheet.getRange(32,12);
  var other_value = other_range.getValues();
  var done_range = check_in_sheet.getRange(33,13);
  var done_value = done_range.getValues();
  var name_range = check_in_sheet.getRange(1,1);
  var name_value = name_range.getValue();
master.getRange(lastrow,1,7,14).setValues(check_in_values);
master.getRange(lastrow,15,1,4).setValues(biometrics_values);
master.getRange(lastrow,15,1,4).setValues(biometrics_values);
master.getRange(lastrow,15,1,4).setValues(biometrics_values);
master.getRange(lastrow,15,1,4).setValues(biometrics_values);
master.getRange(lastrow,15,1,4).setValues(biometrics_values);
master.getRange(lastrow,15,1,4).setValues(biometrics_values);
master.getRange(lastrow,15,1,4).setValues(biometrics_values);
master.getRange(lastrow,19,1,1).setValue(sleep_values);
master.getRange(lastrow,20,1,1).setValue(steps_value);
master.getRange(lastrow,21,1,1).setValue(training_value);
master.getRange(lastrow,22,1,1).setValue(cardio_value);
master.getRange(lastrow,23,1,4).setValues(nutrition_values);
master.getRange(lastrow,27).setValue(achievement_value);
master.getRange(lastrow,28).setValue(improvement_value);
master.getRange(lastrow,29).setValue(struggle_value);
master.getRange(lastrow,30).setValue(bb_value);
master.getRange(lastrow,31).setValue(nt_value);
master.getRange(lastrow,32).setValue(diet_value);
master.getRange(lastrow,33).setValue(ao_value);
master.getRange(lastrow,34).setValue(leaner_value);
master.getRange(lastrow,35).setValue(clothes_value);
master.getRange(lastrow,36).setValue(alcohol_value);
master.getRange(lastrow,44).setValue(ms_value);
master.getRange(lastrow,37).setValue(meds_value);
master.getRange(lastrow,38).setValue(travel_value);
master.getRange(lastrow,39).setValue(other_value);
master.getRange(lastrow,40).setValue(done_value);
master.getRange(lastrow,41).setValue(name_value);
}
google-sheets google-apps-script
1个回答
0
投票

试试这个:

master.getRange(lastrow,1,7,check_in_values.length,check_in_values[0].length).setValues(check_in_values);

© www.soinside.com 2019 - 2024. All rights reserved.