【问题标题】:Trying to compare cell values for two row in Google Spreadsheet and increment count if they are equal尝试比较 Google 电子表格中两行的单元格值,如果它们相等则增加计数
【发布时间】:2017-05-21 21:55:24
【问题描述】:

第一次为谷歌表格构建自定义函数。我正在尝试比较每个单元格中两行的字符串,并为每个相等的单元格增加 Point 列中单元格的值。我在脚本编辑器中完成了以下功能:

    function tally(a,b) {
  var tally = 0;
  for( var i = 0; i < a.length; i++){
    if( a[i] == b[i]){
      tally ++;
    }
  }
  return tally;
}

但它似乎不起作用,我做错了什么吗?欣赏!

【问题讨论】:

    标签: javascript google-sheets spreadsheet


    【解决方案1】:

    该函数将每个单元格与其直接相邻的单元格进行线性比较。那是你想要做的吗?例如,如果您想将 A 列中的第一个单元格与 B 列中的任何一个单元格进行比较,以此类推,每个单元格都需要使用嵌套的“for”循环。

    如果这不是您的问题,您能否更具体地说明您的错误?

    【讨论】:

    • 我正在尝试比较每个单元格,让我们说范围 [C3:AA3] 与 [$C$25:$AA$25] 中的每个单元格。我认为该功能可以作为 tally([C3:AA3],[$C$25:$AA$25])
    • 增加 'tally' 变量的想法是合理的,但是单步执行你的代码,你会发现你只是在比较 a[i] 和 b[i] - 其中 i 总是相同,因此您实际上是将单元格 a[1] 与 b[1] 以及 a[2] 与 b[2] 进行比较,但从不将 a[2] 与 b[1] 进行比较。那有意义吗?如果您使用嵌套的“for 循环”,我认为您会得到您想要的。 -- 为了清楚起见,我还将变量名称“tally”从与您的函数名称相同的地方更改
    • 我只想比较 a[i] 和 b[i] 因为列是相同的。示例我有一个金球奖最佳图片列,a[i] 是参与者的条目,但 b[i] 是正确答案(获奖的最佳图片),然后 a[2] 将是最佳女演员等。 ..
    【解决方案2】:

    大家好,我用下面的公式算出来的: =SUMPRODUCT(COUNTIF(range1,range2))

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-03
      • 1970-01-01
      相关资源
      最近更新 更多