【发布时间】:2021-06-01 16:24:26
【问题描述】:
我的目的是将单行数据转换为由 Google 表格中特定数量的列组成的行。
例如,从原始数据开始:
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | id1 | attr1-1 | attr2-1 | id2 | attr2-1 | attr2-2 |
而预期的结果是: (将列除以三)
| A | B | C | |
|---|---|---|---|
| 1 | id1 | attr1-1 | attr1-2 |
| 2 | id2 | attr2-1 | attr2-2 |
我已经知道可以手动进行一些操作,例如: =数组公式({A1:C1;D1:F1})
但是每次移动目标范围或需要更改子集大小(在上面的情况下是三个)时,我都必须重新开始!
所以我想会有一种更优雅的方式(即公式不需要手动更新)来做同样的事情,并且怀疑 ARRAYFORMULA() 是关键。
任何帮助将不胜感激!
【问题讨论】:
-
关于您的实际应用程序甚至您的帖子示例的详细信息仍然不清楚。例如,您说您想要一个不需要手动更新的公式。但是,除非您在某处手动输入该信息,否则您现有的公式如何“知道”它应该将示例数据分成 3 列而不是 2 列(或 6 列)?原始数据是否总是只有一行?是否有一些“规则”应该适用于任何和所有尺寸的范围?该公式需要适应哪些不同的场景?了解现实世界的应用程序目标总是有帮助的。
-
更多:“每次移动目标范围”是什么意思?它会如何移动?为什么?
-
@ErikTyler 非常感谢您的评论和建议! 1. 说“没有手动更新”我的意思是我想避免将参考范围 {A1:C1;D1:F1} 更改为 {A1:D1;E1:G1} 以防列数增加。 (而只是想知道是否可以将 3 或 4 作为公式中的参数。)
-
2.如更新示例所示,原始数据是 id + 属性对。虽然 example 只包含其中的几个,但属性的总数不固定,并且没有可以与 split() 一起使用的分隔符。无论如何,数据将始终在一行中,并且可以水平扩展(取决于使用 importXML() 函数动态获取的记录数)。我想这个解释解决了你发布的其他问题!
-
获得帮助的最有效和最有效的方法是分享指向您的电子表格的链接(或其副本,或包含足以传达问题的真实数据的模拟版本),确保将链接的共享权限设置为“知道链接的任何人...”和“编辑者”。这样,我们就可以亲眼看到数据和布局的真实样子。
标签: google-sheets