如何把excel中多行多列数据转成一列数据?急求!!!

如题,例如:ABCDEFGHIJKL每一行的数据量是不一样的,然后把他们都转成ABCDEFG这种形式的,求大神指导!!!因为要处理的数据量很大,所以需要有个函数或者公式什... 如题,例如:
A B C
D E F G H
I J K L
每一行的数据量是不一样的,然后把他们都转成
A
B
C
D
E
F
G
这种形式的,求大神指导!!!
因为要处理的数据量很大,所以需要有个函数或者公式什么的,求指点!
补充:要处理的数据是文本形式的~
展开
 我来答
眯住眼串针
科技发烧友

2014-04-30 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:1.1万
采纳率:58%
帮助的人:3113万
展开全部

数据量大的话建议用VBA


1、由于以下VBA将所选择的区域转换到A列中,如果A列包含数据,先在工作表的最左侧插入一新的A列,以便放置转换后的数据。

2、按快捷键Alt+F11,打开VBA编辑器,在右侧代码窗口中粘贴下列代码:

Sub 选定区域转换为一列并去除空格()
Dim TheRng, TempArr
Dim i As Integer, j As Integer, elemCount As Integer
On Error GoTo line1
Range("a:a").ClearContents
If Selection.Cells.Count = 1 Then
  Range("a1") = Selection
Else
  TheRng = Selection
  elemCount = UBound(TheRng, 1) * UBound(TheRng, 2)
  ReDim TempArr(1 To elemCount, 1 To 1)
  For i = 1 To UBound(TheRng, 1)
    For j = 1 To UBound(TheRng, 2)
      TempArr((i - 1) * UBound(TheRng, 2) + j, 1) = TheRng(i, j)
    Next
  Next
  Range("a1:a" & elemCount) = TempArr
End If
line1:

Dim r As Long
        r = Sheet1.UsedRange.Rows.Count
    For i = r To 1 Step -1
        If Cells(i, 1) = "" Then
    Rows(i).Delete
End If
    Next

End Sub

3、关闭VBA编辑器,返回Excel工作表界面。

4、全选需要转换的区域(千万记得要做这个步骤!!!),再按Alt+F8,打开“宏”对话框,选择上述代码中的宏名“选定区域转换为一列并去除空格”,运行代码。

leon01314e7709
2014-04-30 · TA获得超过9323个赞
知道大有可为答主
回答量:6761
采纳率:61%
帮助的人:2549万
展开全部

H1公式:

 

=INDIRECT(TEXT(SMALL(IF($A$1:$E$10="",6553601,(ROW($1:$10)*100+COLUMN($A:$E))),ROW(A1)),"R0C00"),)&""

 

按CTRL+SHIFT+ENTER键结束,下拉填充.

 

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
笑一笑说一说
科技发烧友

2014-04-30 · 职场办公软件基础应用
笑一笑说一说
采纳数:16868 获赞数:33713

向TA提问 私信TA
展开全部
=INDIRECT(ADDRESS(INT(ROW(A5)/5),MOD(ROW(A5),5)+1))
下拉填充
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
高高QD
2014-04-30 · TA获得超过8951个赞
知道大有可为答主
回答量:4821
采纳率:25%
帮助的人:1536万
展开全部
是需要转置吗?最好把图贴上来看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式