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

Trying to create 2 columns out of 1 column of data using offset and indirect

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

我一直在使用偏移和间接公式,但没有得到预期的结果。以下只是我尝试和使用并尝试改变以获得我认为我应该得到的东西的几个例子。

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

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

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

因此我们需要创建一个 excel 模板,该模板尽可能动态,打印页面尽可能少。因为行数未知,所以我们希望以一种允许我们接收和需要打印的数据尽可能少或尽可能多的方式构建模板。所以我们需要每页放置 2 个列组,每个组包含 10 行,这样我们每页总共可以有 20 个组。

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

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

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

Page 1

1     11

2     12

3     13

4     14

5     15

6     16

7     17

8     18

9     19

10    20


Page 2

21

22

23

24

25

尽可能不要使用 INDIRECT 和 OFFSET(而且我发现很少需要它们),因为它们是可变函数。索引是最佳选择:

Page1 把这个放在第一个单元格,复制一个向下十个:

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

在每个连续 sheet 中添加一个因子 20:

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

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