Javascript googlesheets行作为数组

Javascript googlesheets行作为数组,javascript,arrays,google-sheets,Javascript,Arrays,Google Sheets,我有一个GoogleSheets电子表格,其中我想将该行的一个范围作为一个数组赋给一个自定义函数(例如,d37:m37)。如果您传递一个列的范围(例如,d4:d37),这可以正常工作,但在这方面,行的行为显然不同于列 我发现的唯一解决方法是传递一个二维范围(例如,d36:m37),然后在自定义函数中忽略该二维“数组”的最后一行以外的所有行 是否无法从行中获得与从列中获得相同的行为,只需传入行的一个范围并将其作为数组处理?当您使用范围作为参数调用自定义函数时,该函数将获得一个二维数组。比如说,

我有一个GoogleSheets电子表格,其中我想将该行的一个范围作为一个数组赋给一个自定义函数(例如,d37:m37)。如果您传递一个列的范围(例如,d4:d37),这可以正常工作,但在这方面,行的行为显然不同于列

我发现的唯一解决方法是传递一个二维范围(例如,d36:m37),然后在自定义函数中忽略该二维“数组”的最后一行以外的所有行


是否无法从行中获得与从列中获得相同的行为,只需传入行的一个范围并将其作为数组处理?

当您使用范围作为参数调用自定义函数时,该函数将获得一个二维数组。比如说,

  • 范围A1:B2表示为
    [['A1',b1'],['a2',B2']]
    (其中字符串是这些单元格实际内容的占位符)
  • 范围A1:B1(一行)表示为
    [['A1',B1']]
  • 范围A1:A2(一列)表示为
    ['A1'],['A2']]
  • 作为例外,单个单元格范围(如A1)直接传递该单元格中的值,而不是数组
如您所见,行范围和列范围的数组结构不同。可以编写一个自定义函数来适当地处理上述所有情况。但是,如果自定义函数需要一个列范围,则有一个简单的解决方法:使用
转置
将行转换为列,例如

=customfunction(transpose(D37:M37)) 

当使用范围作为参数调用自定义函数时,该函数将获得二维数组。比如说,

  • 范围A1:B2表示为
    [['A1',b1'],['a2',B2']]
    (其中字符串是这些单元格实际内容的占位符)
  • 范围A1:B1(一行)表示为
    [['A1',B1']]
  • 范围A1:A2(一列)表示为
    ['A1'],['A2']]
  • 作为例外,单个单元格范围(如A1)直接传递该单元格中的值,而不是数组
如您所见,行范围和列范围的数组结构不同。可以编写一个自定义函数来适当地处理上述所有情况。但是,如果自定义函数需要一个列范围,则有一个简单的解决方法:使用
转置
将行转换为列,例如

=customfunction(transpose(D37:M37)) 

如果您使用的是谷歌应用程序脚本,我相信您可以将范围设置为d36:m36。您还可以使用其他一些getRange函数选项,例如,如果您使用的是GoogleApps脚本,我相信您可以将范围设置为d36:m36。您还可以使用其他一些getRange函数选项,例如