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

标签 excel formula offset excel-indirect

需要取 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 行。我们希望在我们的模板上看到以下内容。
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 (而且我只发现很少需要它们),因为它们是可变函数。索引是最好的选择:

第1页把这个放在第一个单元格中,复制一个到十个:

=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第三个等等。

关于excel - 尝试使用偏移和间接从 1 列数据中创建 2 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58118760/

相关文章:

c++ - Visual Studio 2019 C++ dll Excel VBA 插件问题

Excel:一次更改多个公式?

Excel CONCATENATE,与 IF 公式?/:

对象和结构成员访问和地址偏移计算

UINavigationController 更改推送的 UIViewController View 的位置

android - 调整相对布局中的 float 按钮位置

excel - 用VBA计算百分比

excel - 删除行子处理速度很慢

math - 为什么有 3 个相互冲突的 OpenCV 相机标定公式?

java - 如何使用 Selenium WebDriver TestNG 数据提供程序方法从 Excel 工作表读取特定值?