当前位置: 首页 > 知识库问答 >
问题:

Google sheets应用程序脚本-获取水平数据并垂直设置

艾翼
2023-03-14

我试图采取一个序列的数据,是水平排列在一个单行从谷歌工作表应用程序使用谷歌脚本函数getValue,然后把他们到一个不同的工作表垂直排列在一列。我的代码目前看起来像这样:

function tester() {
  var app = SpreadsheetApp;
  var loader = app.getActiveSpreadsheet().getSheetByName('Loader');
  var stats = app.getActiveSpreadsheet().getSheetByName('Stats');
  var list = app.getActiveSpreadsheet().getSheetByName('List');  

  var xpos = 19;
  var ypos = 2;

  var abilityBlock = list.getRange(ypos,xpos,1,16).getValues();

  Logger.log(abilityBlock);

  //loader.getRange(10,5,16,1).setValues(abilityBlock);

  }

我已经注释掉了setValues部分,因为它返回了一个错误,表示它希望数据是16宽的,而它所获取的数据是16高的。

从我能收集到的信息来看,罪魁祸首是如何将数据拉入数组的。记录器将数据显示为[[value1、value2、value3、value4等]]而不是[[value1]、[value2]、[value3]、[value4]、[etc.]]

我想避免使用for循环一次推送一个数据,是否有其他方法转换数组中的数据?或者用另一种方式使用getValues操作以我可以实际使用的格式获取它?

共有1个答案

湛鸿
2023-03-14

我想你应该使用转置功能。

试试这个

list.getRange(ypos,xpos,1,16).copyTo(loader.getRange(10,5), 
                     spreadsheetApp.CopyPasteType.PASTE_VALUES, true);

说明如下:https://developers.google.com/apps-script/reference/spreadsheet/range#copyTo(范围、复制粘贴类型、布尔值)

 类似资料:
  • 问题内容: 我有一个表“ Item”,其中包含许多相关项,如下所示: 我正在尝试查询,以使具有相同Rel_ID的项目出现在同一行中,如下所示: 我尝试过多次选择表格: 但这失败了。当然,有一个转换或查询可以极大地简化该过程,而我只是想念它,因为我以前从未以这种方式使用过SQL。我想念什么? [编辑:添加了RelRank列,该列确实出现在我的数据中] 问题答案: 无论使用哪种数据库,都试图实现的概念

  • 问题内容: 如何使用flexbox在容器内水平和垂直居中div。在下面的示例中,我希望每个数字都彼此相邻(按行),并水平居中。 问题答案: 我认为您想要以下内容。 你的元素应该是块级(而非)如果你想要的高度和顶部/底部填充,以正常工作。 另外,在上,将宽度设置为而不是。 您的属性很好。 如果您希望垂直居中于视口中,请为和分配100%的高度,然后将页边距清零。 请注意,需要一个高度才能看到垂直对齐效

  • 如何使用FlexBox在容器内水平和垂直地居中div。在下面的例子中,我希望每一个数字在彼此下面(在行中),水平居中。 null null http://codepen.io/anon/pen/zlxbo

  • 我正在使用MPAndroidChart库。在条形图中,默认情况下,所有条形图都是垂直的(自下而上),如何水平显示?

  • 问题内容: 我陷入了涉及将水平行转换为垂直行的SQL查询(SQL Server) 以下是我的数据 转换后,该表应为 关于此的任何输入将有所帮助? 我正在尝试在分区上玩耍。但是它以某种方式不起作用!!! 谢谢 !!! 问题答案: 您可以使用: 或:

  • 我的应用程序应该是水平的。在AndroidManifest.xml中,我有 但当我按下电源按钮(关闭设备),然后再次按下电源按钮(打开设备)时,我会看到一些问题。通过调试过程,我可以看到我的应用程序经过以下步骤: 按电源按钮- 然后: 按电源按钮- 我的错在哪里?我应该先在任何地方设置屏幕大小吗? 我理解了这个问题:当我按下电源按钮时,方向发生了变化(默认情况下锁屏是纵向的),这导致调用onCre