楼主: lynch
7483 6

[问答] 请教,excel首尾相接 合并成一列 [推广有奖]

  • 2关注
  • 2粉丝

已卖:1030份资源

博士生

85%

还不是VIP/贵宾

-

威望
0
论坛币
1749 个
通用积分
6.8761
学术水平
0 点
热心指数
2 点
信用等级
0 点
经验
4627 点
帖子
165
精华
0
在线时间
435 小时
注册时间
2005-4-6
最后登录
2025-9-16

楼主
lynch 发表于 2011-8-14 18:07:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请教:EXCEL 494行×494列,首尾相接合并成一列,请问简便方法?
导到别的软件里操作也可以,谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:EXCEL exce xcel cel excel EXCEL 软件

回帖推荐

SepLost 发表于2楼  查看完整内容

关键在于二维转一维,你看看这个例子吧,看得懂就能做,不然用R之类,容易一些.

matlab-007 发表于3楼  查看完整内容

假设你的数据在sheet1中,共有10行,多列 在sheet2的A列,将sheet1的10行多列数据取过来 sheet2的A1输入公式 =OFFSET(sheet1!$A$1,MOD(ROW(1:1)-1,10),INT((ROW(1:1)-1)/10)) 此公式向下复制即可

沙发
SepLost 发表于 2011-8-14 19:37:33
Book1.xls (21 KB) 关键在于二维转一维,你看看这个例子吧,看得懂就能做,不然用R之类,容易一些.
已有 1 人评分论坛币 热心指数 收起 理由
liuzhenzhu + 50 + 2 热心帮助其他会员

总评分: 论坛币 + 50  热心指数 + 2   查看全部评分

藤椅
matlab-007 发表于 2016-6-29 17:29:16
假设你的数据在sheet1中,共有10行,多列
在sheet2的A列,将sheet1的10行多列数据取过来
sheet2的A1输入公式
=OFFSET(sheet1!$A$1,MOD(ROW(1:1)-1,10),INT((ROW(1:1)-1)/10))
此公式向下复制即可

板凳
god891006 发表于 2017-5-3 14:45:05
SepLost 发表于 2011-8-14 19:37
关键在于二维转一维,你看看这个例子吧,看得懂就能做,不然用R之类,容易一些.
非常感谢,我学习一下

报纸
niceaihua 在职认证  发表于 2019-4-7 16:21:53
请问你还经常在论坛里吗?前辈

地板
liuhe5955922 在职认证  发表于 2019-4-8 00:34:07 来自手机
可以用tablea插件

7
乌贼07 发表于 2019-4-11 17:18:25

可以使用小学数学学过的知识来解决您的问题,利用被除数、除数、商和余数的关系。“余数总是跟周期有关”。

具体VBA代码为:

Option Explicit
Sub NN_to_N1()
    Rem 本程序用于将N*N列矩阵拼接成N^2*1列矩阵
    Rem 2019/04/11
    Dim i As Long '计数项
    Dim Quotient As Long '商
    Dim Remainder As Long '余数
    Dim arr As Variant '数组
    Dim brr As Variant '数组
    Dim N As Long '数据的行数
   
    Application.ScreenUpdating = False
   
    arr = Cells(1, 1).CurrentRegion
    If UBound(arr, 1) = UBound(arr, 2) Then N = UBound(arr, 1)
    ReDim brr(1 To N * N, 1 To 1)
    For i = 1 To N * N Step 1
        Remainder = i Mod N
        Quotient = (i - (i Mod N)) / N
        If Remainder = 0 Then
            brr(i, 1) = arr(N, Quotient)
        Else
            brr(i, 1) = arr(Remainder, Quotient + 1)
        End If
    Next i
    Cells(1, UBound(arr, 2) + 2).Resize(UBound(brr, 1), UBound(brr, 2)) = brr
   
    Application.ScreenUpdating = True
    MsgBox "ok!"
End Sub

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-2 03:56