Google apps script 如何返回内置的Google电子表格函数可以为我们提供的字符串

Google apps script 如何返回内置的Google电子表格函数可以为我们提供的字符串,google-apps-script,google-sheets,google-sheets-formula,array-formulas,google-sheets-query,Google Apps Script,Google Sheets,Google Sheets Formula,Array Formulas,Google Sheets Query,我有一个函数,它返回一个字符串,这些字符串是我需要用UNIQUE()内置函数扫描的单元格,但它不处理返回的值 我试着用引号引他们,但没用 function GetRange(sheet, ColumnLetter , Offset) { var startColumn = letterToColumn(ColumnLetter); var string = ""; for(var i=startColumn; i <= Offset; i++) { str

我有一个函数,它返回一个字符串,这些字符串是我需要用UNIQUE()内置函数扫描的单元格,但它不处理返回的值

我试着用引号引他们,但没用

function GetRange(sheet, ColumnLetter , Offset)
{
  var startColumn = letterToColumn(ColumnLetter);
  var string = "";

  for(var i=startColumn; i <= Offset; i++)
    {
      string += sheet + "!" + columnToLetter(i) +":"+columnToLetter(i)+";";      
    }

   string = string.substring(0, string.length-1);

   return string+"";
}
我希望将返回的字符串放入内置的
UNIQUE()
函数中,并像手动输入一样执行代码

相反,它只是像这样将返回的字符串输出到单元格中

 Raid!C:C;Raid!D:D;Raid!E:E;Raid!F:F;Raid!G:G;Raid!H:H;Raid!I:I;Raid!J:J;Raid!K:K;Raid!L:L;Raid!M:M;Raid!N:N;Raid!O:O;Raid!P:P;Raid!Q:Q;Raid!R:R;Raid!S:S;Raid!T:T;Raid!U:U;Raid!V:V;Raid!W:W;Raid!X:X;Raid!Y:Y;Raid!Z:Z;Raid!AA:AA;Raid!AB:AB;Raid!AC:AC;Raid!AD:AD
试着这样做:

=ARRAYFORMULA(SORT(UNIQUE(TRANSPOSE(SPLIT(TRIM(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
 IF(LEN(Raid!A1:A), IF(Raid!C1:AL<>"", "♦"&Raid!C1:AL, ), )),,999^99)),,999^99)), "♦")))))
=ARRAYFORMULA(排序)(唯一)(转置)(拆分)(修剪)(查询)(转置)(查询)(转置(
IF(LEN(Raid!A1:A),IF(Raid!C1:AL“”)♦"&Raid!C1:AL,),),,999^99(),,999^99)),”♦")))))
试着这样做:

=ARRAYFORMULA(SORT(UNIQUE(TRANSPOSE(SPLIT(TRIM(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
 IF(LEN(Raid!A1:A), IF(Raid!C1:AL<>"", "♦"&Raid!C1:AL, ), )),,999^99)),,999^99)), "♦")))))
=ARRAYFORMULA(排序)(唯一)(转置)(拆分)(修剪)(查询)(转置)(查询)(转置(
IF(LEN(Raid!A1:A),IF(Raid!C1:AL“”)♦“&Raid!C1:AL,),),,,999^99(),,999^99)),”♦")))))
问题: 您正在从函数返回字符串。电子表格无法将其计算为电子表格数组文字

解决方案: 而是返回数组

片段: 问题: 您正在从函数返回字符串。电子表格无法将其计算为电子表格数组文字

解决方案: 而是返回数组

片段:
当涉及到Google Sheet甚至Java脚本时,我的专业能力是有限的。第一个返回一个普通的每列唯一值,这对我来说不合适,第二个给我一个错误,即下面的“TRIM的文本结果超过50000个字符的限制。”任何足够先进的技术都无法与magic区分开来“……我不懂,但它很管用!”:)当涉及到Google Sheet甚至Java脚本时,我的专业能力是有限的。第一个返回的是每列的普通唯一性,这对我来说不合适,第二个给我一个错误,如下所示”TRIM的文本结果超过50000个字符的限制。”“任何足够先进的技术都无法与magic区分”…我不理解,但它可以工作!:)
/**
 * @param {Raid!C:AD} range - Range to stack as a array
 * @return The provided 2D array stacked up vertically
 * @customfunction
 */
function stackUp(range) {
  return Array.prototype.concat.apply(
    [],
    range[0].map(function(col, i) {
      //for each column
      return range
        .map(function(row) {
          return [row[i]];
        }) //get each row in this column
        .filter(String); //ignore empty rows
    })
  );
}