String 在if循环中使用字符串长度作为参数

String 在if循环中使用字符串长度作为参数,string,google-apps-script,String,Google Apps Script,我正在尝试检查特定列B中的值。这些值基于B列单元格中的公式。我想做的是:如果结果字符串的长度大于15,则复制并粘贴同一单元格中显示的值,覆盖公式。这里的公式是一个简单的ifx>y,{do this},{Leave cell blank}。如果可能的话,我还想将其扩展为5个连续的列。IF公式将位于每列中 这是另一种困境。在“B”列中,我在每一行中有=ifX>Y,Z{do this},{将单元格留空}。如果公式结果为真,则复制显示值并覆盖公式;如果为假,则保留公式 我发现这是一个起点,但不管结果是真

我正在尝试检查特定列B中的值。这些值基于B列单元格中的公式。我想做的是:如果结果字符串的长度大于15,则复制并粘贴同一单元格中显示的值,覆盖公式。这里的公式是一个简单的ifx>y,{do this},{Leave cell blank}。如果可能的话,我还想将其扩展为5个连续的列。IF公式将位于每列中

这是另一种困境。在“B”列中,我在每一行中有=ifX>Y,Z{do this},{将单元格留空}。如果公式结果为真,则复制显示值并覆盖公式;如果为假,则保留公式

我发现这是一个起点,但不管结果是真是假,它都会覆盖公式

    function myFunction() {
    var s = SpreadsheetApp.getActiveSpreadsheet();
    var ss = s.getSheetByName('Copy');
    var range = ss.getRange('b9:b12');     //This is just a test range, the real range will be the entire column.
    var cells = range.getValues();
    var numRows = range.getNumRows();
    var numCols = range.getNumColumns();
     for (var i = 0; i < numRows; i++) {
     for (var j = 0; j < numCols; j++) {      
       if(cells.length > 15){
         cells[i][j] ;
      }
     }
    }

   range.setValues(cells);
  }
运行后的数据:

COL1I am greater than 1,COL2I am greater than 1,COL3I am greater than 1,COL4I am greater than 1,COL5I am greater than 1,COL6I am greater than 1,COL7I am greater than 1,COL8I am greater than 1
16I am greater than 1,11I am greater than 1,17I am greater than 1,11I am greater than 1,12I am greater than 1,15I am greater than 1,4,17I am greater than 1
14I am greater than 1,17I am greater than 1,14I am greater than 1,14I am greater than 1,4,11I am greater than 1,13I am greater than 1,11I am greater than 1
9,9,10I am greater than 1,11I am greater than 1,14I am greater than 1,10I am greater than 1,5,9
10I am greater than 1,3,11I am greater than 1,17I am greater than 1,10I am greater than 1,8,6,8
5,12I am greater than 1,13I am greater than 1,18I am greater than 1,7,9,2,15I am greater than 1
2,5,10I am greater than 1,9,18I am greater than 1,18I am greater than 1,12I am greater than 1,12I am greater than 1
15I am greater than 1,1,11I am greater than 1,11I am greater than 1,7,1,4,4
6,1,0,7,2,17I am greater than 1,11I am greater than 1,11I am greater than 1
18I am greater than 1,9,9,6,15I am greater than 1,9,0,10I am greater than 1
15I am greater than 1,2,1,14I am greater than 1,16I am greater than 1,4,19I am greater than 1,15I am greater than 1
14I am greater than 1,5,11I am greater than 1,14I am greater than 1,2,17I am greater than 1,10I am greater than 1,1
19I am greater than 1,4,19I am greater than 1,5,5,1,15I am greater than 1,7
9,5,15I am greater than 1,12I am greater than 1,8,3,9,11I am greater than 1
11I am greater than 1,12I am greater than 1,2,0,4,13I am greater than 1,8,2
13I am greater than 1,17I am greater than 1,5,18I am greater than 1,13I am greater than 1,16I am greater than 1,19I am greater than 1,5
15I am greater than 1,18I am greater than 1,16I am greater than 1,0,8,19I am greater than 1,18I am greater than 1,4
16I am greater than 1,19I am greater than 1,6,0,4,3,9,11I am greater than 1
12I am greater than 1,6,6,12I am greater than 1,18I am greater than 1,5,1,2
2,19I am greater than 1,10I am greater than 1,4,13I am greater than 1,14I am greater than 1,6,1
6,10I am greater than 1,15I am greater than 1,8,12I am greater than 1,8,3,5

一如既往,我感谢你的帮助@Cooper。但是,它仍在覆盖公式。我想这和。toString有关。我在成品中需要的公式超过100个字符,因此当它将公式转换为字符串时,会覆盖它。如果显示值大于X,我只想用显示值覆盖公式。对于我的测试,X为15,但最终将为22。我想我已经缩小了问题的范围。调用range.setValuesvs…时,它在检查字符串长度是否大于15的筛选器之前设置vs的值。有什么想法@CooperI看到了这部分`ifcells.length>15{cells[i][j];}`但它没有任何作用,所以我不知道你想要什么?在最终版本中,我将有一个大的数据表。其中一列R有一个公式,如果今天的日期大于某个日期,则使用联接公式将多个列中的数据合并为一个列,如果未达到该日期阈值,则单元格为空。一旦达到日期阈值,单元格显示X | Y | Z |等…我想复制单元格显示值,并将其粘贴到公式上。这可能就是你的答案。
COL1,COL2,COL3,COL4,COL5,COL6,COL7,COL8
16,11,17,11,12,15,4,17
14,17,14,14,4,11,13,11
9,9,10,11,14,10,5,9
10,3,11,17,10,8,6,8
5,12,13,18,7,9,2,15
2,5,10,9,18,18,12,12
15,1,11,11,7,1,4,4
6,1,0,7,2,17,11,11
18,9,9,6,15,9,0,10
15,2,1,14,16,4,19,15
14,5,11,14,2,17,10,1
19,4,19,5,5,1,15,7
9,5,15,12,8,3,9,11
11,12,2,0,4,13,8,2
13,17,5,18,13,16,19,5
15,18,16,0,8,19,18,4
16,19,6,0,4,3,9,11
12,6,6,12,18,5,1,2
2,19,10,4,13,14,6,1
6,10,15,8,12,8,3,5
COL1I am greater than 1,COL2I am greater than 1,COL3I am greater than 1,COL4I am greater than 1,COL5I am greater than 1,COL6I am greater than 1,COL7I am greater than 1,COL8I am greater than 1
16I am greater than 1,11I am greater than 1,17I am greater than 1,11I am greater than 1,12I am greater than 1,15I am greater than 1,4,17I am greater than 1
14I am greater than 1,17I am greater than 1,14I am greater than 1,14I am greater than 1,4,11I am greater than 1,13I am greater than 1,11I am greater than 1
9,9,10I am greater than 1,11I am greater than 1,14I am greater than 1,10I am greater than 1,5,9
10I am greater than 1,3,11I am greater than 1,17I am greater than 1,10I am greater than 1,8,6,8
5,12I am greater than 1,13I am greater than 1,18I am greater than 1,7,9,2,15I am greater than 1
2,5,10I am greater than 1,9,18I am greater than 1,18I am greater than 1,12I am greater than 1,12I am greater than 1
15I am greater than 1,1,11I am greater than 1,11I am greater than 1,7,1,4,4
6,1,0,7,2,17I am greater than 1,11I am greater than 1,11I am greater than 1
18I am greater than 1,9,9,6,15I am greater than 1,9,0,10I am greater than 1
15I am greater than 1,2,1,14I am greater than 1,16I am greater than 1,4,19I am greater than 1,15I am greater than 1
14I am greater than 1,5,11I am greater than 1,14I am greater than 1,2,17I am greater than 1,10I am greater than 1,1
19I am greater than 1,4,19I am greater than 1,5,5,1,15I am greater than 1,7
9,5,15I am greater than 1,12I am greater than 1,8,3,9,11I am greater than 1
11I am greater than 1,12I am greater than 1,2,0,4,13I am greater than 1,8,2
13I am greater than 1,17I am greater than 1,5,18I am greater than 1,13I am greater than 1,16I am greater than 1,19I am greater than 1,5
15I am greater than 1,18I am greater than 1,16I am greater than 1,0,8,19I am greater than 1,18I am greater than 1,4
16I am greater than 1,19I am greater than 1,6,0,4,3,9,11I am greater than 1
12I am greater than 1,6,6,12I am greater than 1,18I am greater than 1,5,1,2
2,19I am greater than 1,10I am greater than 1,4,13I am greater than 1,14I am greater than 1,6,1
6,10I am greater than 1,15I am greater than 1,8,12I am greater than 1,8,3,5