我确信这比我想象的要容易。
我有多个垂直列表。例如:
第 1 项
第 2 项
第 3 项
第 4 项
项目 1.1
项目2.1
第 3.1 项
项目4.1
项目 1.2
第 2.2 项
第 3.2 项
第 4.2 项
我想把这些项目放入如下所示的水平列表中
第 1 项 | 第 2 项 | 第 3 项 | 第 4 项 |
---|---|---|---|
项目 1.1 | 项目2.1 | 第 3.1 项 | 项目4.1 |
项目 1.2 | 第 2.2 项 | 第 3.2 项 | 第 4.2 项 |
答案1
答案2
让我们为每个项目分配一个“新行号”。如果我们知道每个列表中有四个项目,那么:
=QUOTIENT(ROW()-1,4)+1
我们可以使用新的行号过滤原始数据,如下所示:
=TRANSPOSE(FILTER($A$1:$A$12,$B$1:$B$12=ROW()))
在第 1 行,ROW()=1。然后,此 FILTER 返回 A 列的前四个值。然后,我们使用 TRANSPOSE 将它们水平旋转。通过将公式向下拖到第 2 行和第 3 行,我们得到其余数据:
如果愿意的话,你可以放弃第一步,而只需使用这个:
=TRANSPOSE(FILTER($A$1:$A$12,QUOTIENT(ROW($A$1:$A$12)-1,4)+1=ROW()))
答案3
我的假设是,您的数据是规则的(有序的)且完整的,没有遗漏的项目。您基本上有一个 Tx1 数组,可以将其包装到 anxm 表中,其中 nxm = T。
我们将使用表中的位置 (ROW,COLUMN) 作为数组的索引。假设数组位于 Sheet1 的 A 列中,而新表位于 Sheet2 中。那么 Sheet2 中的 A1 为:
=INDEX(SHEET1!$A:$A, COLUMN()+(ROW()-1)*m)
其中 m 必须替换为要换行的列数(在您的示例中为 4)。