尝试使用偏移量和间接方法从1列数据中创建2列

问题描述 投票:0回答:1

需要获取1列数据并创建2列以最大化每张纸上的数据量。

我一直在使用偏移量和间接公式,但未获得预期的结果。以下只是一些香港专业教育学院尝试过的例子,并尝试过改变以获得我认为应该得到的东西。

=IF(OFFSET(Sheet1!$A$1,(COLUMN()-1)*10+ROW()-1,0)="","",OFFSET(Sheet1!$A$1,(COLUMN()-1)*310+ROW()-1,0))

=OFFSET($A$1,ROW()*1-2+COLUMN(),0)&""

=INDIRECT("a"&ROW()*1-(2-COLUMN()))

因此,我们需要创建一个尽可能动态的excel模板,并尽可能少打印页面。因为行数是未知的,所以我们希望以一种方式来构建模板,该方式所允许的数据量与接收到的或需要打印的数据一样少。因此,我们需要每页容纳2个列集,每个列包含10行,因此每页总共可以包含20个列。

找到偏移量和间接值后,我开始使用它,看看是否可以创建一个满足我们需求的公式。

我们试图通过使用这些公式(如果它们是正确的公式)来查看以下内容:

假设我们的数据表中有25行。我们希望在模板上看到以下内容。

第1页

1 11

2 12

3 13

4 14

5 15

6 16

7 17

8 18

9 19

10 20

第2页

21

22

23

24

25

excel formula offset excel-indirect
1个回答
0
投票

如果可能,请不要使用INDIRECT和OFFSET(并且我只发现了很少的次数,因为它们是易失函数。索引是最佳选择:

[Page1将其放在第一个单元格中,复制一个并向下复制十个:

=INDEX(Sheet1!$A:$A,Row(1:1)+((column(A:A)-1)*10))

在每个顺序表中添加20倍:

=INDEX(Sheet1!$A:$A,Row(1:1)+((column(A:A)-1)*10)+(20*1))

将第三的*1更改为*2,依此类推。

© www.soinside.com 2019 - 2024. All rights reserved.