【问题标题】:How to compare data in two rows of Google Sheets and output number of cells in row 1 that are > the cell in row 2?如何比较两行 Google 表格中的数据并输出第 1 行中 > 第 2 行中的单元格的单元格数?
【发布时间】:2015-05-01 17:03:40
【问题描述】:

例如,给定

1| 2 3 2 5

2| 4 2 2 3

我想成为 COMPARE(row1,row2) 并返回 2,或者 COMPARE(row2,row1) 并返回 1。我正在尝试在 JavaScript 中创建一个自定义函数,这是我目前所拥有的:

function COMPARE(row1,row2) {
  var total=0; var i=0;
  if (row1.map){
    for (i;i<11;i++); {
      if (row1[i]>row2[i]){
      total=total+1; 
      } 
    }
  }
return total;
}

我认为我在引用单元格时做错了,但我不确定。感谢您的帮助。

【问题讨论】:

  • 我最大的问题是,当给定这两个输入时,是什么使值 12?此外,虽然不那么重要,但为什么要抓住 row1 的 length,然后将 11 硬编码到 for 循环中?
  • 当我比较(row1,row2)时,我要求第 1 行中的单元格数量超过第 2 行同一列中的单元格。第 1 行的第二列和第四列超过相应的第 2 行值。所以返回值为 2。我一直在寻找错误,这就是为什么我仍在抓取 row1.length,我忘了删除它。

标签: javascript arrays google-sheets


【解决方案1】:

我认为您遇到的唯一“错误”是从1 开始访问您的区域。 JavaScript 中的数组是基于 0 的。假设您没有解决代码的其他方面,这应该可以工作:

function COMPARE(row1,row2) {
  var total=0; var len=row1.length; var i=0;
  if (row1.map){
    for (i;i<11;i++); {
      if (row1[i]>row2[i]){
        total=total+1; 
      } 
    }
  }
  return total;
}

【讨论】:

  • 这对我不起作用。当我在工作表中输入 COMPARE('range','range') 时,单元格为空白
猜你喜欢
  • 1970-01-01
  • 2020-07-31
  • 1970-01-01
  • 1970-01-01
  • 2021-09-25
  • 1970-01-01
  • 1970-01-01
  • 2015-01-29
  • 1970-01-01
相关资源
最近更新 更多