《Excel数据分析精粹》系列论坛

至尊宝2008 Lv.1

关注
读《精粹》,技巧92,多行多列数据转为单列数据中范例用的是数值数据,但我想要转换的是文本数据。
如不同岗位的人名
。。。
包装岗位   赵匡胤   李自成
剪切岗位   郭靖     杨过    嬴政
调配岗位   黄蓉     李世民    多尔衮   张无忌  张三丰
。。。
以上为EXCEL表的一部分,我把人名部分复制,按精粹中的方法操作,无法得到如同数值数据般的结果。
网上搜索答案,多是复杂公式转换。有那时间列公式,手动将其复制粘贴到一列就完了。
《精粹》讲解一向细致,此处却未列明文本数据转换注意的问题,是根本无法用简单的操作实现还是方法与数值数据完全一样,是我自己操作有误导致,望各位高手能不吝赐教。
1.5万阅读
9回复 倒序

至尊宝2008 楼主 2楼

呵呵,居然无人问津,昨晚继续网上搜索,发现了很好的解决办法,希望《精粹》再版时能收录。


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,心中窃喜之余不敢独享,因在本站未搜到解决办法(呵呵,可能搜法不当,也许答案早有了,只是我没发现,那大家就当温故知新吧),特将解决方法转来,借花献佛,以谢大家对我曾经的帮助。

jh_sophia Lv.2 3楼

我也不会,精粹的技巧93单列转多列很复杂,有没有人会简单点的办法呢

huqiqiang Lv.2 4楼

楼主,对于第二点,单行装成矩阵中,我还是有点晕,试了几次,特别是

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

magic237 Lv.1 5楼

楼主我爱你~~~~~

zeze0708 Lv.2 6楼

thanks a lot !

282557796 Lv.1 7楼

超级棒,perfect

qqpie Lv.1 8楼

引用: 然后把“A101”单元格复制到“A101:IV25600”,这时第一列就是转换后的数据列。

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

gzndxf Lv.1 9楼

不错,的确是不错。学习中

bbliu7a606 Lv.2 10楼

=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列数据为例,在任意位置输入上述公式,然后向下拉公式即可

已显示全部内容