楼主: liuweivvid
3519 10

[问答] Excel如何将属于同一属性的几列合并为一列? [推广有奖]

  • 0关注
  • 0粉丝

高中生

55%

还不是VIP/贵宾

-

威望
0
论坛币
1553 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
163 点
帖子
18
精华
0
在线时间
28 小时
注册时间
2014-12-6
最后登录
2016-10-2

楼主
liuweivvid 发表于 2016-9-17 16:51:59 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
这里合并指的是将后一列粘贴到前一列的后面。
QQ图片20160917164059.png
比如这里我想把timestamp = 4967.134 的多行合并为一行,
然后把timestamp = 4999.99的多行合并为一行。

具体效果类似于这样(这是我自己手动复制粘贴的。。。)
QQ图片20160917164525.png

由于数据量比较大,不能一个个复制粘贴
求大神指导批量处理的方法~

为了方便上传了附件
output_body.xlsx (398.63 KB)






二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:EXCEL exce xcel cel Times Excel 如何

沙发
2年26计划 发表于 2016-9-17 16:59:35
可以通过VBA实现   逆透视可能也可以

藤椅
ilovepoolf3 发表于 2016-9-18 08:12:00
pivot table 可以。

板凳
j610f2012 在职认证  发表于 2016-9-18 09:15:42
用连字符 &

报纸
liuweivvid 发表于 2016-9-18 17:53:54
2年26计划 发表于 2016-9-17 16:59
可以通过VBA实现   逆透视可能也可以
可惜VBA没有接触过...不知道对这个有没有针对性的教程?

地板
liuweivvid 发表于 2016-9-18 17:54:45
ilovepoolf3 发表于 2016-9-18 08:12
pivot table 可以。
数据透视表吗?可以麻烦说一下大概的操作步骤吗?英文的也可以,十分感谢!

7
liuweivvid 发表于 2016-9-18 17:56:27
j610f2012 发表于 2016-9-18 09:15
用连字符 &
谢谢~
可以批量处理吗,我只需要输入一次公式?
具体怎么操作呢?

8
yin_na61 发表于 2016-9-18 23:55:44 来自手机
用筛选,把b列是0的筛选出来不可以吗?

9
2年26计划 发表于 2016-9-19 10:59:15
liuweivvid 发表于 2016-9-18 17:53
可惜VBA没有接触过...不知道对这个有没有针对性的教程?
给你一个VBA 代码  我测试了 可以
Sub loopin()
Dim a, b, c, i, k, m As Double
Dim countR As Double
Dim countC As Double
Dim ws As Worksheet

Application.DisplayAlerts = False
Application.ScreenUpdating = False

Set ws = ActiveSheet
countR = ws.Range("A1").CurrentRegion.Rows.Count
'MsgBox countR
c = CInt(InputBox("除timestamp外有多少列要复制"))

For i = 1 To countR
    If ws.Cells(i, 1).Value <> ws.Cells(i + 1, 1).Value Then
        b = i + 1
        m = 0
    ElseIf ws.Cells(i, 1).Value = ws.Cells(i + 1, 1).Value Then
        m = m + 1
        a = i + 1
        For k = 1 To c
            ws.Cells(b, (c * m + 1 + k)).Value = ws.Cells(a, k + 1).Value
        Next
    End If
Next

Application.DisplayAlerts = True
Application.ScreenUpdating = True

MsgBox "完成"
End Sub

10
liuweivvid 发表于 2016-9-19 11:33:28
2年26计划 发表于 2016-9-19 10:59
给你一个VBA 代码  我测试了 可以
Sub loopin()
Dim a, b, c, i, k, m As Double
十分感谢!我研究研究

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-20 18:59