Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我已经创建了一个动态下拉选择列表,它可以到达一行;如何使该行成为变量? 函数初始化数据(){ var ss=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“汽车视图”); var selectedCell=SpreadsheetApp.getActiveRange(); var selectedMake=ss.getRange(2,1.getValue(); var selectedModel=ss.getRange(2,2.getValue(); var selectedYear=ss.getRange(2,3.getValue(); var selectedTrim=ss.getarange(2,4.getvalue(); var cars_raw=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“cars_raw”); //我想这就是我应该得到最终结果范围或将所选行更改为变量的地方 var-trims=[]; var carData=getCarData(); 对于(变量i=0;i_Javascript_Google Apps Script_Google Sheets - Fatal编程技术网

Javascript 我已经创建了一个动态下拉选择列表,它可以到达一行;如何使该行成为变量? 函数初始化数据(){ var ss=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“汽车视图”); var selectedCell=SpreadsheetApp.getActiveRange(); var selectedMake=ss.getRange(2,1.getValue(); var selectedModel=ss.getRange(2,2.getValue(); var selectedYear=ss.getRange(2,3.getValue(); var selectedTrim=ss.getarange(2,4.getvalue(); var cars_raw=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“cars_raw”); //我想这就是我应该得到最终结果范围或将所选行更改为变量的地方 var-trims=[]; var carData=getCarData(); 对于(变量i=0;i

Javascript 我已经创建了一个动态下拉选择列表,它可以到达一行;如何使该行成为变量? 函数初始化数据(){ var ss=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“汽车视图”); var selectedCell=SpreadsheetApp.getActiveRange(); var selectedMake=ss.getRange(2,1.getValue(); var selectedModel=ss.getRange(2,2.getValue(); var selectedYear=ss.getRange(2,3.getValue(); var selectedTrim=ss.getarange(2,4.getvalue(); var cars_raw=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“cars_raw”); //我想这就是我应该得到最终结果范围或将所选行更改为变量的地方 var-trims=[]; var carData=getCarData(); 对于(变量i=0;i,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,您只需将值Ex:Hx从cars\u raw表复制到cars\u视图的A6:D6 为此,您可以使用Rangeclass的方法 function initializeData(){ var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("cars_view"); var selectedCell = SpreadsheetApp.getActiveRange(); var selectedMake = ss.get

您只需将值
Ex:Hx
cars\u raw
表复制到
cars\u视图的
A6:D6

为此,您可以使用
Range
class的方法

function initializeData(){ 
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("cars_view");

  var selectedCell = SpreadsheetApp.getActiveRange();
  var selectedMake = ss.getRange(2, 1).getValue();
  var selectedModel = ss.getRange(2, 2).getValue();
  var selectedYear = ss.getRange(2, 3).getValue();
  var selectedTrim = ss.getarange(2, 4).getvalue();
  var cars_raw =     SpreadsheetApp.getActiveSpreadsheet().getSheetByName("cars_raw");
  // I think this is where I should be getting finale range or changing     selected row to variable 

  var trims = [];  
  var carData = getCarData();
  for (var i = 0; i < carData.length; i++) {
    var row = carData[i];
    var make = row[0];
    var model = row[1];
    var year = row[2];
    var trim = row[3];
    var data = row[$];// this is not a drop down 
    if (trim == "") {
      continue;
    }
    if (make == selectedMake && model == selectedModel && year ==  selectedYear && trim == selectedTrim  /* && data.indexOf(data)== -1*/) {
      data.push(data);
    }
  }
   // in case of no trims available
  if (!trims.length) trims = ['N/A'];

}




function onEdit() {
  Logger.log("onEdit()");
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = SpreadsheetApp.getActiveSheet();
  var selectedCell = SpreadsheetApp.getActiveRange();
  var cars_raw =     SpreadsheetApp.getActiveSpreadsheet().getSheetByName("cars_raw");

  Logger.log("Hello.");

  if (sheet.getName() != "cars_view") {// changed sheet 7 to cars_view
    return;
  }

  var selectedRow = selectedCell.getRow();
  var selectedColumn = selectedCell.getColumn();
  Logger.log("selected row=%s, column=%s", selectedRow,     selectedColumn);
  // Why does this below not start with 0 and go to 3; 
  if (selectedRow == 2.0) { 
  if (selectedColumn == 1.0) {
      // make
      initializeModels();
    } else if (selectedColumn == 2.0) {
      // model
      initializeYears();
    } else if (selectedColumn == 3.0) {
      // year
      initializeTrims();
    } else if (selectedColumn == 4.0) {
      initializeData();

  }
  }
我还必须更改
getCarData
函数

function onEdit(e) {
  var source = e.source;
  var sheet_name  = source.getSheetName();
  var range  = e.range;
  var cars_raw = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("cars_raw");

  if (sheet_name != "cars_view") {
    return;
  }

  var selectedRow = range.getRow();
  var selectedColumn = range.getColumn();
  Logger.log("selected row=%s, column=%s", selectedRow, selectedColumn);

  if (selectedColumn == 4 && selectedRow == 2) {
    initializeData();   
  }
}

我不确定你想要什么。你需要描述这个过程是什么。起点是什么?预期的最终结果是什么?背景表cars\u raw是我们填写信息以填充cars\u view的地方;每个汽车品牌、型号、年份、在cars\u view下拉列表中选择的修剪缩小到cars raw中的一行。在第一行之后四列用于缩小选择范围。E到EX列是填写cars_视图的信息。选择编辑数据后,变量是从哪一行获取信息,其余为静态信息,cars_raw中的一个单元格将等于cars_视图中的同一单元格//TODO//这可以通过cars_视图中的数据验证来完成吗,并且只需要改变哪一行的变量才能重置数据显示?//如果A2为真//如果B2为真//如果C2为真//如果D2为真//则填充//cars\u raw E将是A6 cars\u view//cars\u raw F将是B6 cars\u view//cars\u raw G将是C6 cars\u view//cars\u raw H将是D6 cars\u view奇怪的事情;A6到D6不升级ate on cars_查看来自cars_raw的信息,但只有在手动运行脚本initializeData之后,而不是在您选择Trim的最终结果时。我确实将battery_信息更改为battery_大小,只是为了保持信息一致。@JoshuaevHaislip:我已经删除了所有其他用于调试的内容,并以上面的代码结束。它运行良好如果你觉得这个答案很有用,请接受这个答案。我添加了一行自动刷新,因为如果Trim没有乘法选项BoldFunction OneEdit(e){var source=e.source;//只有在编辑器中运行时才会出错。common behavor var sheet_name=source.getSheetName();var range=e.range;var cars_raw=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“cars_raw”);if(sheet_name!=“cars_view”){return;}var selectedRow=range.getRow();var selectedColumn=range.getColumn();Logger.log(“所选行=%s,列=%s”,selectedRow,selectedColumn);if(selectedColumn==4&&selectedRow==2){initializeData();}}现在,我正在考虑将Logger.log(电池大小);var range=ss.getRange(“A6:D6”);range.setValues([battery_大小])应用于我需要更新的其他300个电池
function onEdit(e) {
  var source = e.source;
  var sheet_name  = source.getSheetName();
  var range  = e.range;
  var cars_raw = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("cars_raw");

  if (sheet_name != "cars_view") {
    return;
  }

  var selectedRow = range.getRow();
  var selectedColumn = range.getColumn();
  Logger.log("selected row=%s, column=%s", selectedRow, selectedColumn);

  if (selectedColumn == 4 && selectedRow == 2) {
    initializeData();   
  }
}
function getCarData() {
  var cars_raw = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("cars_raw");
  return cars_raw.getSheetValues(3, 1, 5000, 8);
}