我有一张表格,其数据组织如下:
我有另一张纸,我想要转换每行的某些单元格,同时在第一个转置行的末尾和下面的开头之间留下5行。像这样:
真正的第一张数据库有很多行,所以我正在寻找一种简化流程的方法,而不必在每一行中编写公式。如果可以通过拖拽第一个配制的细胞来完成它将会很棒。
答案 0 :(得分:1)
这可以通过使用带行号的modular arithmetics来完成。我将描述假装I,J柱(你显然不想要的)不在那里的解决方案;也许你应该将它们移到右边。 A列的公式为
=if(mod(row()-1, 14) < 9, indirect("Data!R1C" & mod(row(), 14), False), )
说明:if
语句负责在每个9之后跳过5行;公式末尾的逗号就是为了这个目的。如果行在合适的范围内,意味着mod(row(),14)是数字1-9之一,indirect
指的是数据表中的单元格,第1行,列编号为mod(row(), 14)
。
B列的公式类似,但行号也在变化。
=if(mod(row()-1, 14) < 9, indirect("Data!R" & floor((row()-1)/14)+2 & "C" & mod(row(), 14), False), )
它指的是数据表,列号如上,行号floor(row()/14)+2
- 表示它从2开始,每14行增加1。