1 个长列拆分为多个列

1 个长列拆分为多个列

我的 Excel 表中有一列很长。我想将该列拆分为多列。

每 10 个条目后应进行一次多列拆分。因此,如果我的原始列中总共有 80 个单元格,我希望将它们拆分为 8 列,每列有 10 个单元格。

我不太熟悉 VBA,所以我无法遵循提示,但我可能能够修改示例代码。

我的问题现在开始

我搜索了 SU 并找到了这个主题如何将 Excel 中的一列拆分为多列,每列 55 行

它有以下命令

=INDIRECT("Sheet1!R" & (COLUMN()-1)*55+MOD(ROW()-1,55)+1 & "C1", FALSE)

我将其修改为

=INDIRECT("Sheet1!R" & (COLUMN()-1)*10+MOD(ROW()-1,10)+1 & "C1", FALSE)

我知道 INDIRECT 的第一个参数应该是我想要从中选择值的源,所以它的格式应该是“Sheet1!RnnnCnnn”,其中“nnn”是行号和列号。

有人可以解释一下以下发生的事情吗:

"Sheet1!R" & (COLUMN()-1)*10+MOD(ROW()-1,10)+1 & "C1"

谢谢。

答案1

"Sheet1!R" & (COLUMN()-1)*10+MOD(ROW()-1,10)+1 & "C1"
Sheet1 从 sheet1 读取 R & (column()-1)*10 是引用,在初始列的哪一行读取它应该给你公式为 -1 乘以 10 加上行号除以 10 的余数的列如果你的公式在新工作表的第 1 行第 2 列,它应该是:
Sheet1!R(2-1)*10+Mod(1-1,10)+1 & C1
=Sheet1!R11C1
这意味着读取 sheet1 第 1 列第 11 行中的值,当你将公式向下拖动 10 次时,它将读取 sheet 1 的同一列中的以下值(下一行),每当你到达第 10 行时,你应该移动到下一列第一行并再次写入相同的公式。
请注意,C1 是固定的,因为您从第一列读取,但行是移动的,这就是为什么需要以除以 10 的方式计算它,所以整个公式都是计算从工作表 1 的第一列读取哪一行,并且它取决于公式所在的列。
Excel MOD 函数
返回两个给定数字相除后的余数。MOD 函数的语法为: MOD( number, divisor )
其中参数如下:
number - 要除的数。divisor
- 除以 number 参数的值。

相关内容