EXCEL把B列的内容交叉插入到A列

即B1放到A1下,B2放到A2下………………
但是不能合并,就是说B1变成A2,不能把B1和A1合并成A1
是本来有两列,比如A1-A20,B1-B20,存放了两列数据。
修改之后,要求只有一列,A1-A40
A1,A3,A5,A7……单数行是原来A列的数据,
A2,A4,A6,A8……双数行是原来B列的数据。

用万能的VBA可以实现。

例如有表格如图:

第一步:编制代码如下:

Sub 交叉插入()

Dim I, J As Integer

I = 1: J = 1

Do While Cells(I, 1) <> ""

Cells(J, 3) = Cells(I, 1)

Cells(J + 1, 3) = Cells(I, 2)

J = J + 2

I = I + 1

Loop

End Sub

第二步:执行代码。结果如图:

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-16
A1:B2的数据:
A-B
C-D

C1输入公式:向下拖动
=OFFSET($A$1,INT((ROW()-1)/2),1-MOD(ROW(),2))
C1:C4显示:
A
B
C
D

是这个吗?
**********
我据这个例子你没有看明白吗?
这个公式是可扩展的,只要你AB列有数据那就在C列拉公式吧。知道显示一堆0为止。

然后你把公式结果复制选择性粘贴保留成值就行了本回答被提问者采纳
第2个回答  2020-07-08
=OFFSET($A$1,INT((ROW()-1)/3),MOD(ROW()+2,3))
三行的 亲测可用
相似回答