python中如何将几行数据合并_excel如何将多行数据合并成一行?

这个用VB来得快一点,不过个人习惯性用公式,所以就先说一下公式的算法。

用公式之前,先要观察原始数据特性;题主给的特性还是很明显:

1、每行、每列的数据数量一样;

2、不需要调整数据次序,只需要将第一行的数据转移完再转移第二行即可。

3、从表1的1、2、3行,转移到表2的第一行,即需要跨表格引用。

那么就可以写了:

=OFFSET(Sheet1!$A$1,IF(MOD(COLUMN(),COUNT(Sheet1!1:1))=0,COLUMN()/COUNT(Sheet1!1:1)-1,INT(COLUMN()/COUNT(Sheet1!1:1))),MOD(COLUMN()-1,COUNT(Sheet1!1:1)))

解析:

1、OFFSET():基于某一单元格进行上下移动相应的行、列,返回数据。这里我们固定基于表1的A1单元格。

2、因为需要移动的行和列,是个变量,所以需要在公式中引入一个变量。因为原始数据每列的数据量是一样的,所以我们这里就只引入列号,用COLUMN()得到,至于行号,则用列号除以3,在公式中即除以COUNT(Sheet1!1:1)。

有了上面的基础思路,然后就好办了,直接进行公式的整合就可以了。

如果觉得麻烦,都可以直接将COUNT(Sheet1!1:1)改成3,这样公式就清晰很多;当然也可以定义名称,不过自己用的话就不必那么麻烦了。下面是换成3的公式。

=OFFSET(Sheet1!$A$1,IF(MOD(COLUMN(),3)=0,COLUMN()/3-1,INT(COLUMN()/3)),MOD(COLUMN()-1,3))

还有疑问的话,可以后面复我。

后面有空再写VB,以及其它的做法。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值