ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 14757|回复: 9

多行多列的文本数据转换为单列数据

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-1-13 21:57 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
读《精粹》,技巧92,多行多列数据转为单列数据中范例用的是数值数据,但我想要转换的是文本数据。
如不同岗位的人名
。。。
包装岗位   赵匡胤   李自成
剪切岗位   郭靖     杨过    嬴政
调配岗位   黄蓉     李世民    多尔衮   张无忌  张三丰
。。。
以上为EXCEL表的一部分,我把人名部分复制,按精粹中的方法操作,无法得到如同数值数据般的结果。
网上搜索答案,多是复杂公式转换。有那时间列公式,手动将其复制粘贴到一列就完了。
《精粹》讲解一向细致,此处却未列明文本数据转换注意的问题,是根本无法用简单的操作实现还是方法与数值数据完全一样,是我自己操作有误导致,望各位高手能不吝赐教。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-1-14 19:44 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
呵呵,居然无人问津,昨晚继续网上搜索,发现了很好的解决办法,希望《精粹》再版时能收录。


1、多行多列数据改为单行或单列的数据


把“A1:IV100”的数据转换为一列数据,可以令“A101=B1”,然后把“A101”单元格复制到“A101:IV25600”,这时第一列就是转换后的数据列。

但由于这时第一列A101以下的数据实质是公式,不可把其余列删除,应首先把第一列复制,粘贴时用选择性粘贴,选择“数值”选项,粘贴后就可把其余列删除了。

想把它变成单行的,呵呵,复制单列--选择性粘贴--转置

此法是内蒙古 王义斌同志发布于网络,受人教诲,替人扬名


2、一列数据快速转换成m×n矩阵(北京 王兴奎)

excel中一列数据转换成m×n矩阵。假设该列数据所占单元格为A1、A2、A3、……、Ak,那么在B1单元格内输入A1,在C1单元格内输入A2,在B2单元格内输入A(n+1),在C2单元格内输入A(n+2),然后用鼠标将B1、C1、B2、C2四个单元格选中,先拖动鼠标到n列,然后到m行。接下来在“编辑”栏中选择“替换”一项,在“替换”窗口中的“查找内容”里输入“A”,在“替换值”里输入“=A”,最后用鼠标点击“全部替换”即可将该列数据转换成m×n矩阵。




以上2法均为本人昨夜网搜后用实例验证,确实简单易操作,无论文本、数值均适用,而且不用设计繁复的公式,也无需你懂VBA,心中窃喜之余不敢独享,因在本站未搜到解决办法(呵呵,可能搜法不当,也许答案早有了,只是我没发现,那大家就当温故知新吧),特将解决方法转来,借花献佛,以谢大家对我曾经的帮助。

TA的精华主题

TA的得分主题

发表于 2010-7-27 23:52 | 显示全部楼层
我也不会,精粹的技巧93单列转多列很复杂,有没有人会简单点的办法呢

TA的精华主题

TA的得分主题

发表于 2010-11-23 22:14 | 显示全部楼层
楼主,对于第二点,单行装成矩阵中,我还是有点晕,试了几次,特别是

( 在“替换”窗口中的“查找内容”里输入“A”,在“替换值”里输入“=A”)如何输入?

TA的精华主题

TA的得分主题

发表于 2011-1-10 01:30 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-2-16 18:38 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
thanks a lot !

TA的精华主题

TA的得分主题

发表于 2012-3-26 10:27 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2013-11-4 09:05 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
然后把“A101”单元格复制到“A101:IV25600”,这时第一列就是转换后的数据列。

请教LS这一步是怎么操作的,不明白啊。谢谢啦!@

TA的精华主题

TA的得分主题

发表于 2013-11-16 11:14 | 显示全部楼层
不错,的确是不错。学习中

TA的精华主题

TA的得分主题

发表于 2016-2-24 12:16 | 显示全部楼层
=IFERROR(IF(INDEX($A$1:$F$3,INT(ROW(A1)/6)+1,MOD(ROW(A1)-1,6)+1)<>"",INDEX($A$1:$F$3,INT(ROW(A1)/6)+1,MOD(ROW(A1)-1,6)+1),""),"")
一3行6列数据为例,在任意位置输入上述公式,然后向下拉公式即可
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-14 04:24 , Processed in 0.038365 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表